netfilter: nf_queue: fix queueing of bridged gro skbs
authorFlorian Westphal <fw@strlen.de>
Mon, 6 Feb 2012 12:23:10 +0000 (13:23 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 9 Feb 2012 19:47:53 +0000 (20:47 +0100)
commita8db7b2d197a0d624baab83f0c810b0edbc4ffd0
treeebd355871baa76453aca87e0556c9bb55447672c
parente0aac52e17a3db68fe2ceae281780a70fc69957f
netfilter: nf_queue: fix queueing of bridged gro skbs

When trying to nf_queue GRO/GSO skbs, nf_queue uses skb_gso_segment
to split the skb.

However, if nf_queue is called via bridge netfilter, the mac header
won't be preserved -- packets will thus contain a bogus mac header.

Fix this by setting skb->data to the mac header when skb->nf_bridge
is set and restoring skb->data afterwards for all segments.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_queue.c