linux/net/ipv6/netfilter
Florian Westphal da5b58478a netfilter: handle unreadable frags
sashiko reports:
 When an skb with unreadable fragments (such as from devmem TCP, where
 skb_frags_readable(skb) returns false) is processed by the u32 module,
 skb_copy_bits() will safely return a negative error code [..]

xt_u32: bail out with hotdrop in this case.
gather_frags: return -1, just as if we had no fragment header.
nfnetlink_queue: restrict to the linear part.
nfnetlink_log: restrict to the linear part.

v2:
 - skb_zerocopy helpers don't copy readable flag, i.e. nfnetlink_queue
 is broken too
 xt_u32 shouldn't return true if hotdrop was set.

Fixes: 65249feb6b ("net: add support for skbs with unreadable frags")
Cc: stable@vger.kernel.org
Acked-by: Mina Almasry <almasrymina@google.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
History 2026-07-08 15:33:44 +02:00
..
ip6_tables.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-06-11 14:33:35 -07:00
ip6t_ah.c netfilter: ip6tables: mark malformed IPv6 extension headers for hotdrop 2026-07-03 14:45:21 +02:00
ip6t_eui64.c netfilter: require Ethernet MAC header before using eth_hdr() 2026-04-10 12:16:27 +02:00
ip6t_frag.c netfilter: ip6tables: Remove redundant null checks 2020-07-29 20:39:43 +02:00
ip6t_hbh.c netfilter: ip6tables: mark malformed IPv6 extension headers for hotdrop 2026-07-03 14:45:21 +02:00
ip6t_ipv6header.c netfilter: move inline nf_ip6_ext_hdr() function to a more appropriate header. 2019-09-13 12:34:09 +02:00
ip6t_mh.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ip6t_NPT.c netfilter: ip6t_NPT: rewrite addresses in ICMPv6 original packet 2020-08-28 19:18:48 +02:00
ip6t_REJECT.c netfilter: use actual socket sk for REJECT action 2020-12-01 14:33:55 +01:00
ip6t_rpfilter.c netfilter: ip6t_rpfilter: Fix regression with VRF interfaces 2023-02-22 00:22:20 +01:00
ip6t_rt.c netfilter: ip6tables: mark malformed IPv6 extension headers for hotdrop 2026-07-03 14:45:21 +02:00
ip6t_srh.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ip6t_SYNPROXY.c netfilter: Add MODULE_DESCRIPTION entries to kernel modules 2020-06-25 00:50:31 +02:00
ip6table_filter.c netfilter: x_tables: close dangling table module init race 2026-05-08 01:30:17 +02:00
ip6table_mangle.c netfilter: x_tables: close dangling table module init race 2026-05-08 01:30:17 +02:00
ip6table_nat.c netfilter: x_tables: add and use xtables_unregister_table_exit 2026-05-08 01:30:16 +02:00
ip6table_raw.c netfilter: x_tables: close dangling table module init race 2026-05-08 01:30:17 +02:00
ip6table_security.c netfilter: x_tables: close dangling table module init race 2026-05-08 01:30:17 +02:00
Kconfig netfilter: add back NETFILTER_XTABLES dependencies 2025-08-07 13:19:25 +02:00
Makefile netfilter: add option for GCOV profiling 2026-05-24 22:55:47 +02:00
nf_conntrack_reasm.c netfilter: handle unreadable frags 2026-07-08 15:33:44 +02:00
nf_defrag_ipv6_hooks.c netfilter: add missing module descriptions 2023-11-08 13:52:32 +01:00
nf_dup_ipv6.c ipv6: adopt dst_dev() helper 2025-07-02 14:32:30 -07:00
nf_reject_ipv6.c netfilter: nf_reject: don't reply to icmp error messages 2025-09-11 15:40:55 +02:00
nf_socket_ipv6.c netfilter: nf_socket: skip socket lookup for non-first fragments 2026-04-30 17:59:01 +02:00
nf_tproxy_ipv6.c tcp: Don't pass hashinfo to socket lookup helpers. 2025-08-25 17:53:35 -07:00
nft_dup_ipv6.c netfilter: nf_tables: remove register tracking infrastructure 2026-02-25 19:36:26 -08:00
nft_fib_ipv6.c netfilter: nft_fib: fix stale stack leak via the OIFNAME register 2026-06-10 18:00:19 +02:00
nft_reject_ipv6.c netfilter: nf_tables: remove register tracking infrastructure 2026-02-25 19:36:26 -08:00