Ver Fonte

sunvnet: fix incorrect rcu_read_unlock() in vnet_start_xmit()

This patch removes an extra rcu_read_unlock() on an allocation failure
in vnet_skb_shape(). The needed rcu_read_unlock() is already done in
the out_dropped label.

Reported-by: Rashmi Narasimhan <rashmi.narasimhan@oracle.com>
Signed-off-by: David L Stevens <david.stevens@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David L Stevens há 11 anos atrás
pai
commit
9cdfe2c709
1 ficheiros alterados com 1 adições e 3 exclusões
  1. 1 3
      drivers/net/ethernet/sun/sunvnet.c

+ 1 - 3
drivers/net/ethernet/sun/sunvnet.c

@@ -1317,10 +1317,8 @@ static int vnet_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
 
 	skb = vnet_skb_shape(skb, 2);
 	skb = vnet_skb_shape(skb, 2);
 
 
-	if (unlikely(!skb)) {
-		rcu_read_unlock();
+	if (unlikely(!skb))
 		goto out_dropped;
 		goto out_dropped;
-	}
 
 
 	if (skb->ip_summed == CHECKSUM_PARTIAL)
 	if (skb->ip_summed == CHECKSUM_PARTIAL)
 		vnet_fullcsum(skb);
 		vnet_fullcsum(skb);