From 9cdfe2c709c4f6076249ced6844b2bea420739c4 Mon Sep 17 00:00:00 2001 From: David L Stevens Date: Mon, 8 Dec 2014 21:46:09 -0500 Subject: [PATCH] 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 Signed-off-by: David L Stevens Signed-off-by: David S. Miller --- drivers/net/ethernet/sun/sunvnet.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ethernet/sun/sunvnet.c b/drivers/net/ethernet/sun/sunvnet.c index aac7d933319b..90c86cd3be14 100644 --- a/drivers/net/ethernet/sun/sunvnet.c +++ b/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); - if (unlikely(!skb)) { - rcu_read_unlock(); + if (unlikely(!skb)) goto out_dropped; - } if (skb->ip_summed == CHECKSUM_PARTIAL) vnet_fullcsum(skb); -- 2.20.1