From: David L Stevens Date: Tue, 9 Dec 2014 02:46:09 +0000 (-0500) Subject: sunvnet: fix incorrect rcu_read_unlock() in vnet_start_xmit() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9cdfe2c709c4f6076249ced6844b2bea420739c4;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git 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 --- 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);