android_kernel_xiaomi_sm8350/net/ipv6
Patrick McHardy e2b58a67b9 [NETFILTER]: {ip,ip6,nfnetlink}_queue: fix SKB_LINEAR_ASSERT when mangling packet data
As reported by Tomas Simonaitis <tomas.simonaitis@gmail.com>,
inserting new data in skbs queued over {ip,ip6,nfnetlink}_queue
triggers a SKB_LINEAR_ASSERT in skb_put().

Going back through the git history, it seems this bug is present since
at least 2.6.12-rc2, probably even since the removal of
skb_linearize() for netfilter.

Linearize non-linear skbs through skb_copy_expand() when enlarging
them.  Tested by Thomas, fixes bugzilla #9933.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-19 17:17:52 -08:00
..
netfilter [NETFILTER]: {ip,ip6,nfnetlink}_queue: fix SKB_LINEAR_ASSERT when mangling packet data 2008-02-19 17:17:52 -08:00
addrconf_core.c
addrconf.c [IPV6] ADDRCONF: Sparse: Make inet6_dump_addr() code paths more straight-forward. 2008-01-28 15:10:28 -08:00
addrlabel.c [IPV6] ADDRLABEL: Fix double free on label deletion. 2008-01-28 15:46:02 -08:00
af_inet6.c [IPV6]: Fix hardcoded removing of old module code 2008-02-17 22:34:53 -08:00
ah6.c [IPSEC]: Fix bogus usage of u64 on input sequence number 2008-02-12 22:50:35 -08:00
anycast.c
datagram.c
esp6.c [IPSEC]: Fix bogus usage of u64 on input sequence number 2008-02-12 22:50:35 -08:00
exthdrs_core.c
exthdrs.c
fib6_rules.c [NETNS]: FIB rules API cleanup. 2008-01-28 15:08:13 -08:00
icmp.c [ICMP]: Restore pskb_pull calls in receive function 2008-02-05 03:15:50 -08:00
inet6_connection_sock.c
inet6_hashtables.c [INET]: Fix accidentally broken inet(6)_hash_connect's port offset calculations. 2008-02-05 03:14:44 -08:00
ip6_fib.c [IPV6]: Use BUG_ON instead of if + BUG in fib6_del_route. 2008-02-18 20:50:42 -08:00
ip6_flowlabel.c
ip6_input.c
ip6_output.c [IPV6]: Fix reversed local_df test in ip6_fragment 2008-02-14 23:49:37 -08:00
ip6_tunnel.c [IPV6]: dst_entry leak in ip4ip6_err. (resend) 2008-02-18 20:49:36 -08:00
ipcomp6.c [XFRM]: constify 'struct xfrm_type' 2008-01-31 19:27:20 -08:00
ipv6_sockglue.c
Kconfig [IPSEC]: Use crypto_aead and authenc in ESP 2008-01-31 19:27:02 -08:00
Makefile
mcast.c
mip6.c [XFRM]: constify 'struct xfrm_type' 2008-01-31 19:27:20 -08:00
ndisc.c [IPV6] NDISC: Sparse: Use different variable name for local use. 2008-01-28 15:10:28 -08:00
netfilter.c
proc.c [NETNS][FRAGS]: Make the mem counter per-namespace. 2008-01-28 15:10:36 -08:00
protocol.c
raw.c [RAW]: Wrong content of the /proc/net/raw6. 2008-01-31 19:27:26 -08:00
reassembly.c [NETNS][FRAGS]: Make the pernet subsystem for fragments. 2008-01-28 15:10:40 -08:00
route.c [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric. 2008-02-09 23:43:11 -08:00
sit.c [NETNS]: Add namespace parameter to ip_route_output_key. 2008-01-28 15:11:07 -08:00
sysctl_net_ipv6.c [NETNS][FRAGS]: Move ctl tables around. 2008-01-28 15:10:34 -08:00
tcp_ipv6.c [SOCK] proto: Add hashinfo member to struct proto 2008-02-03 04:28:52 -08:00
tunnel6.c
udp_impl.h [IPV6] UDPLITE: Sparse: Declare non-static symbols in header. 2008-01-28 15:10:26 -08:00
udp.c [NETNS]: Udp sockets per-net lookup. 2008-01-31 19:28:21 -08:00
udplite.c [IPV6] UDP,UDPLITE: Sparse: {__udp6_lib,udp,udplite}_err() are of void. 2008-01-28 15:10:25 -08:00
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c [IPV6]: Fix IPsec datagram fragmentation 2008-02-12 18:07:27 -08:00
xfrm6_policy.c [NET]: should explicitely initialize atomic_t field in struct dst_ops 2008-01-31 19:27:23 -08:00
xfrm6_state.c
xfrm6_tunnel.c [XFRM]: constify 'struct xfrm_type' 2008-01-31 19:27:20 -08:00