From 6598456d72e48d779445bfec8f72114747f8b8d7 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Mon, 21 Sep 2026 09:42:18 +0000 Subject: [PATCH] vsock: remove dev_hold() and dev_put() in __vsock_deliver_tap_skb() __vsock_deliver_tap_skb() is called from vsock_deliver_tap() under rcu_read_lock(). dev_queue_xmit() does not require the caller to hold a device reference count, and the device lifetime is already protected by RCU. Remove the redundant dev_hold(dev) and dev_put(dev) calls. Signed-off-by: Eric Dumazet Cc: Stefano Garzarella Reviewed-by: Bobby Eshleman Reviewed-by: Stefano Garzarella Link: https://patch.msgid.link/20260921094218.483234-1-edumazet@google.com Signed-off-by: Paolo Abeni --- net/vmw_vsock/af_vsock_tap.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/net/vmw_vsock/af_vsock_tap.c b/net/vmw_vsock/af_vsock_tap.c index 30ee7e4fe251..7c5cdceabb2a 100644 --- a/net/vmw_vsock/af_vsock_tap.c +++ b/net/vmw_vsock/af_vsock_tap.c @@ -64,14 +64,10 @@ static int __vsock_deliver_tap_skb(struct sk_buff *skb, struct sk_buff *nskb = skb_clone(skb, GFP_ATOMIC); if (nskb) { - dev_hold(dev); - nskb->dev = dev; ret = dev_queue_xmit(nskb); if (unlikely(ret > 0)) ret = net_xmit_errno(ret); - - dev_put(dev); } return ret;