hv_netvsc: Fix potential dereference of NULL pointer
authorYongzhi Liu <lyz_cs@pku.edu.cn>
Thu, 19 May 2022 12:09:48 +0000 (05:09 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 21 May 2022 00:45:31 +0000 (17:45 -0700)
The return value of netvsc_devinfo_get()
needs to be checked to avoid use of NULL
pointer in case of an allocation failure.

Fixes: 0efeea5fb153 ("hv_netvsc: Add the support of hibernation")
Signed-off-by: Yongzhi Liu <lyz_cs@pku.edu.cn>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Link: https://lore.kernel.org/r/1652962188-129281-1-git-send-email-lyz_cs@pku.edu.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/hyperv/netvsc_drv.c

index fde1c49..b1dece6 100644 (file)
@@ -2671,7 +2671,10 @@ static int netvsc_suspend(struct hv_device *dev)
 
        /* Save the current config info */
        ndev_ctx->saved_netvsc_dev_info = netvsc_devinfo_get(nvdev);
-
+       if (!ndev_ctx->saved_netvsc_dev_info) {
+               ret = -ENOMEM;
+               goto out;
+       }
        ret = netvsc_detach(net, nvdev);
 out:
        rtnl_unlock();