[NETFILTER]: {ip,ip6,nfnetlink}_queue: fix SKB_LINEAR_ASSERT when mangling packet...
authorPatrick McHardy <kaber@trash.net>
Wed, 20 Feb 2008 01:17:52 +0000 (17:17 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Feb 2008 01:17:52 +0000 (17:17 -0800)
commite2b58a67b91dec07dfb40ca2056c64011ce8489d
tree46e258092c2401b9cf6bc232ecfe96248a51982e
parent94cb1503c799c0197e7ef5bad606fee5c84b99d8
[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>
net/ipv4/netfilter/ip_queue.c
net/ipv6/netfilter/ip6_queue.c
net/netfilter/nfnetlink_queue.c