net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg
authorJie Wang <wangjie125@huawei.com>
Fri, 10 Dec 2021 13:09:33 +0000 (21:09 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Dec 2021 08:32:40 +0000 (09:32 +0100)
commit4f4a353f6fe033807cd026a5de81c67469ff19b0
tree49f856eaa1869c197dca4909fb533e2df2e20028
parenta4377575d2e9017abf393bdfb3ef8d19071fabcc
net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg

[ Upstream commit 27cbf64a766e86f068ce6214f04c00ceb4db1af4 ]

Currently, the hns3_remove function firstly uninstall client instance,
and then uninstall acceletion engine device. The netdevice is freed in
client instance uninstall process, but acceletion engine device uninstall
process still use it to trace runtime information. This causes a use after
free problem.

So fixes it by check the instance register state to avoid use after free.

Fixes: d8355240cf8f ("net: hns3: add trace event support for PF/VF mailbox")
Signed-off-by: Jie Wang <wangjie125@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c