Jelajahi Sumber

gro: refetch inet6_protos[] after pulling ext headers

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>
Yan, Zheng 13 tahun lalu
induk
melakukan
cdaf557034
1 mengubah file dengan 1 tambahan dan 0 penghapusan
  1. 1 0
      net/ipv6/af_inet6.c

+ 1 - 0
net/ipv6/af_inet6.c

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