gro: refetch inet6_protos[] after pulling ext headers
authorYan, Zheng <zheng.z.yan@intel.com>
Sat, 8 Oct 2011 22:34:35 +0000 (22:34 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Oct 2011 18:26:16 +0000 (14:26 -0400)
ipv6_gro_receive() doesn't update the protocol ops after pulling
the ext headers. It looks like a typo.

Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/af_inet6.c

index 3b5669a2582df03c1f1b896991fba664e137d62e..d27c797f9f05e76b82317d1a73818e0a7557bdf3 100644 (file)
@@ -875,6 +875,7 @@ static struct sk_buff **ipv6_gro_receive(struct sk_buff **head,
                skb_reset_transport_header(skb);
                __skb_push(skb, skb_gro_offset(skb));
 
+               ops = rcu_dereference(inet6_protos[proto]);
                if (!ops || !ops->gro_receive)
                        goto out_unlock;