From: Eric Dumazet Date: Thu, 23 Jun 2022 04:34:31 +0000 (+0000) Subject: ip6mr: do not get a device reference in pim6_rcv() X-Git-Tag: v6.1-rc5~731^2~295^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0a24c43f54b296629774b47a0763123f3c18db9b;p=platform%2Fkernel%2Flinux-starfive.git ip6mr: do not get a device reference in pim6_rcv() pim6_rcv() is called under rcu_read_lock(), there is no need to use dev_hold()/dev_put() pair. IPv4 side was handled in commit 55747a0a73ea ("ipmr: __pim_rcv() is called under rcu_read_lock") Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index d4aad41..aa66c03 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -554,7 +554,6 @@ static int pim6_rcv(struct sk_buff *skb) read_lock(&mrt_lock); if (reg_vif_num >= 0) reg_dev = mrt->vif_table[reg_vif_num].dev; - dev_hold(reg_dev); read_unlock(&mrt_lock); if (!reg_dev) @@ -570,7 +569,6 @@ static int pim6_rcv(struct sk_buff *skb) netif_rx(skb); - dev_put(reg_dev); return 0; drop: kfree_skb(skb);