From mboxrd@z Thu Jan 1 00:00:00 1970 From: Willem de Bruijn Subject: [PATCH net-next] tun: avoid unnecessary READ_ONCE in tun_net_xmit Date: Tue, 5 Dec 2017 22:11:17 -0500 Message-ID: <20171206031117.86588-1-willemdebruijn.kernel@gmail.com> Cc: jasowang@redhat.com, davem@davemloft.net, Willem de Bruijn To: netdev@vger.kernel.org Return-path: Received: from mail-yb0-f195.google.com ([209.85.213.195]:43790 "EHLO mail-yb0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754448AbdLFDLq (ORCPT ); Tue, 5 Dec 2017 22:11:46 -0500 Received: by mail-yb0-f195.google.com with SMTP id i206so1033026ybc.10 for ; Tue, 05 Dec 2017 19:11:46 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: From: Willem de Bruijn The statement no longer serves a purpose. Commit fa35864e0bb7 ("tuntap: Fix for a race in accessing numqueues") added the ACCESS_ONCE to avoid a race condition with skb_queue_len. Commit 436accebb530 ("tuntap: remove unnecessary sk_receive_queue length check during xmit") removed the affected skb_queue_len check. Commit 96f84061620c ("tun: add eBPF based queue selection method") split the function, reading the field a second time in the callee. The temp variable is now only read once, so just remove it. Signed-off-by: Willem de Bruijn --- drivers/net/tun.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 787cc35ef89b..c2ad8f3858d1 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -990,14 +990,12 @@ static netdev_tx_t tun_net_xmit(struct sk_buff *skb, struct net_device *dev) struct tun_struct *tun = netdev_priv(dev); int txq = skb->queue_mapping; struct tun_file *tfile; - u32 numqueues = 0; rcu_read_lock(); tfile = rcu_dereference(tun->tfiles[txq]); - numqueues = READ_ONCE(tun->numqueues); /* Drop packet if interface is not attached */ - if (txq >= numqueues) + if (txq >= tun->numqueues) goto drop; if (!rcu_dereference(tun->steering_prog)) -- 2.15.1.424.g9478a66081-goog