]> www.infradead.org Git - users/willy/xarray.git/commitdiff
Revert "bpf: veth driver panics when xdp prog attached before veth_open"
authorHeng Qi <hengqi@linux.alibaba.com>
Tue, 22 Nov 2022 03:50:14 +0000 (11:50 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 23 Nov 2022 04:42:08 +0000 (20:42 -0800)
This reverts commit 5e5dc33d5dacb34b0165061bc5a10efd2fd3b66f.

This patch fixes the panic maked by 2e0de6366ac16. Now Paolo
and Toke suggest reverting the patch 2e0de6366ac16 and making
it stronger, so do this first.

Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/veth.c

index 2a459278014195c84a99a2c2aa464014b749036f..b1ed5a93b6c51772364085b82f58198f8b4fc53c 100644 (file)
@@ -1125,7 +1125,7 @@ static int veth_enable_xdp(struct net_device *dev)
        int err, i;
 
        rq = &priv->rq[0];
-       napi_already_on = rcu_access_pointer(rq->napi);
+       napi_already_on = (dev->flags & IFF_UP) && rcu_access_pointer(rq->napi);
 
        if (!xdp_rxq_info_is_reg(&priv->rq[0].xdp_rxq)) {
                err = veth_enable_xdp_range(dev, 0, dev->real_num_rx_queues, napi_already_on);