Commit daefdbb5 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files
Pablo Neira Ayuso says:

====================
Netfilter fixes for net

The following batch contains one Netfilter fix for net:

1) Fix unaligned atomic read on struct nft_set_ext in nft_set_hash
   backend that causes an alignment failure splat on aarch64. This
   is related to a recent fix and it has been reported via the
   regressions mailing list.

* tag 'nf-24-12-25' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
  netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext
====================

Link: https://patch.msgid.link/20241224233109.361755-1-pablo@netfilter.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 1fa9d91e 542ed814
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -733,15 +733,18 @@ struct nft_set_ext_tmpl {
/**
 *	struct nft_set_ext - set extensions
 *
 *	@genmask: generation mask
 *	@genmask: generation mask, but also flags (see NFT_SET_ELEM_DEAD_BIT)
 *	@offset: offsets of individual extension types
 *	@data: beginning of extension data
 *
 *	This structure must be aligned to word size, otherwise atomic bitops
 *	on genmask field can cause alignment failure on some archs.
 */
struct nft_set_ext {
	u8	genmask;
	u8	offset[NFT_SET_EXT_NUM];
	char	data[];
};
} __aligned(BITS_PER_LONG / 8);

static inline void nft_set_ext_prepare(struct nft_set_ext_tmpl *tmpl)
{