lkml.org 
[lkml]   [2019]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 062/413] net: hns3: set ops to null when unregister ad_dev
    Date
    [ Upstream commit 594a81b39525f0a17e92c2e0b167ae1400650380 ]

    The hclge/hclgevf and hns3 module can be unloaded independently,
    when hclge/hclgevf unloaded firstly, the ops of ae_dev should
    be set to NULL, otherwise it will cause an use-after-free problem.

    Fixes: 38caee9d3ee8 ("net: hns3: Add support of the HNAE3 framework")
    Signed-off-by: Weihang Li <liweihang@hisilicon.com>
    Signed-off-by: Peng Li <lipeng321@huawei.com>
    Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/hisilicon/hns3/hnae3.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/drivers/net/ethernet/hisilicon/hns3/hnae3.c b/drivers/net/ethernet/hisilicon/hns3/hnae3.c
    index fa8b8506b120..738e01393b68 100644
    --- a/drivers/net/ethernet/hisilicon/hns3/hnae3.c
    +++ b/drivers/net/ethernet/hisilicon/hns3/hnae3.c
    @@ -251,6 +251,7 @@ void hnae3_unregister_ae_algo(struct hnae3_ae_algo *ae_algo)

    ae_algo->ops->uninit_ae_dev(ae_dev);
    hnae3_set_bit(ae_dev->flag, HNAE3_DEV_INITED_B, 0);
    + ae_dev->ops = NULL;
    }

    list_del(&ae_algo->node);
    @@ -351,6 +352,7 @@ void hnae3_unregister_ae_dev(struct hnae3_ae_dev *ae_dev)

    ae_algo->ops->uninit_ae_dev(ae_dev);
    hnae3_set_bit(ae_dev->flag, HNAE3_DEV_INITED_B, 0);
    + ae_dev->ops = NULL;
    }

    list_del(&ae_dev->node);
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-07-24 23:09    [W:2.374 / U:0.388 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site