This is a backport of a 5.1rc patchset: https://patchwork.ozlabs.org/cover/1029418/
Which was backported into 4.19: https://patchwork.ozlabs.org/cover/1081619/ and into 4.14: https://patchwork.ozlabs.org/cover/1089651/ and into 4.9: https://www.spinics.net/lists/netdev/msg567087.html This patchset for 4.4 is based on Peter Oskolkov's patchsets above. 5 additional patches has been added to make it all apply, build and pass TAHI IPv6 Ready test with the IOL INTACT test tool. Without this patchset 2 extension header tests and 12 fragmentation tests fail to pass. The previous attempt to fix this seamed to end here: https://www.spinics.net/lists/netdev/msg567728.html It would be nice if someone with more netfilter and fragmentation knowledge than me could review it. Florian Westphal (3): netfilter: ipv6: nf_defrag: avoid/free clone operations netfilter: ipv6: avoid nf_iterate recursion netfilter: ipv6: nf_defrag: fix NULL deref panic ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module Jason A. Donenfeld (1): ipv6: do not increment mac header when it's unset Subash Abhinov Kasiviswanathan (1): netfilter: ipv6: nf_defrag: Pass on packets to stack per RFC2460 Eric Dumazet (1): ipv6: frags: fix a lockdep false positive Peter Oskolkov (3): net: IP defrag: encapsulate rbtree defrag code into callable functions net: IP6 defrag: use rbtrees for IPv6 defrag net: IP6 defrag: use rbtrees in nf_conntrack_reasm.c include/net/inet_frag.h | 16 +- include/net/ipv6.h | 29 --- include/net/ipv6_frag.h | 111 +++++++++ include/net/netfilter/ipv6/nf_defrag_ipv6.h | 3 +- net/ieee802154/6lowpan/reassembly.c | 2 +- net/ipv4/inet_fragment.c | 293 ++++++++++++++++++++++ net/ipv4/ip_fragment.c | 295 +++-------------------- net/ipv6/netfilter/nf_conntrack_reasm.c | 344 ++++++++------------------ net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 23 +- net/ipv6/reassembly.c | 360 +++++++--------------------- net/openvswitch/conntrack.c | 26 +- 11 files changed, 664 insertions(+), 838 deletions(-) create mode 100644 include/net/ipv6_frag.h -- 2.10.2