net/ncsi: Use real net-device for response handler
authorJohn Wang <wangzhiqiang.bj@bytedance.com>
Wed, 23 Dec 2020 05:55:23 +0000 (13:55 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 23 Dec 2020 20:22:23 +0000 (12:22 -0800)
When aggregating ncsi interfaces and dedicated interfaces to bond
interfaces, the ncsi response handler will use the wrong net device to
find ncsi_dev, so that the ncsi interface will not work properly.
Here, we use the original net device to fix it.

Fixes: 138635cc27c9 ("net/ncsi: NCSI response packet handler")
Signed-off-by: John Wang <wangzhiqiang.bj@bytedance.com>
Link: https://lore.kernel.org/r/20201223055523.2069-1-wangzhiqiang.bj@bytedance.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ncsi/ncsi-rsp.c

index 5b1f4ec..888ccc2 100644 (file)
@@ -1120,7 +1120,7 @@ int ncsi_rcv_rsp(struct sk_buff *skb, struct net_device *dev,
        int payload, i, ret;
 
        /* Find the NCSI device */
-       nd = ncsi_find_dev(dev);
+       nd = ncsi_find_dev(orig_dev);
        ndp = nd ? TO_NCSI_DEV_PRIV(nd) : NULL;
        if (!ndp)
                return -ENODEV;