netfilter pull request 24-12-25

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEjF9xRqF1emXiQiqU1w0aZmrPKyEFAmdrQ6gACgkQ1w0aZmrP
 KyEOhQ//S/1voZWyaSM50d6deIcNhyR6dESnEXKXNR/ZpV0BNKMZVTP3zk6HW13W
 5Q7QI4OXnkE4BD2WXpkBU4eaD2fEh0dPmT46gkyN4sPkGdmTLOmCendyG2m66Svn
 7jUDDJqE2pU5gc/kZRCOi+Zyq7nvLhJxBFQDRk/CWBwCdZwRtRsCuLs8dnqX21hH
 wGMQIS/TI2/VVGi2nX0I7pJHjBHiBY6XyANCEruUWgwyNxOckm120AqarSC4Uhkv
 7IsIYv3JM2r0fH6xteq0lhDxaxPTvKyyXRoTUxTPyysr2SAzTpxeBKHrnV+JBoWL
 myhCf0rZEYv4mhTG21qUFzQAAHc9rb0F7JSS04Au3T6LQ5SIJpa/SZ3AjqMCnLX4
 YTV99Qh1S+gWSLKe/nBButczjQfm23E3Sj/VPv28ExItcVR8ogMn1idfQyAwpxkI
 vuaxLGFJMoC/0c4lpaz7/pU+ZcKRpVvXnc7bZgFIiesCFB4T3e6dP30Em/5tDr2P
 qj11KDxe3e/Sbw/E9KoOqykj940At3GLPqaMUOwjcUxRT+PwA1Ue1iOCLqRTYT0a
 6nwWT+x0NZ/iEyL0Qzygx1oQRdwu4mLw7TeHUMvvoBA85fEYmGoWAu97aI6J553o
 nQW6NDzRiUQMKjmuAaJfxiMzPUh0nRa8lKtVp7UR75+b2+Av9VU=
 =S2EE
 -----END PGP SIGNATURE-----

Merge tag 'nf-24-12-25' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf

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: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2024-12-27 11:21:32 -08:00
commit daefdbb5cc

View file

@ -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)
{