Blame patches.suse/net-ethernet-ezchip-fix-UAF-in-nps_enet_remove.patch
|
Denis Kirjanov |
13c92f |
From 873725cfa035a170cbdf7ecc80f6ec72850950a1 Mon Sep 17 00:00:00 2001
|
|
Denis Kirjanov |
13c92f |
From: Pavel Skripkin <paskripkin@gmail.com>
|
|
Denis Kirjanov |
13c92f |
Date: Fri, 18 Jun 2021 19:14:31 +0300
|
|
Denis Kirjanov |
13c92f |
Subject: [PATCH 19/19] net: ethernet: ezchip: fix UAF in nps_enet_remove
|
|
Denis Kirjanov |
13c92f |
Git-commit: e4b8700e07a86e8eab6916aa5c5ba99042c34089
|
|
Denis Kirjanov |
13c92f |
Patch-mainline: v5.14-rc1
|
|
Denis Kirjanov |
13c92f |
References: git-fixes
|
|
Denis Kirjanov |
13c92f |
|
|
Denis Kirjanov |
13c92f |
priv is netdev private data, but it is used
|
|
Denis Kirjanov |
13c92f |
after free_netdev(). It can cause use-after-free when accessing priv
|
|
Denis Kirjanov |
13c92f |
pointer. So, fix it by moving free_netdev() after netif_napi_del()
|
|
Denis Kirjanov |
13c92f |
call.
|
|
Denis Kirjanov |
13c92f |
|
|
Denis Kirjanov |
13c92f |
Fixes: 0dd077093636 ("NET: Add ezchip ethernet driver")
|
|
Denis Kirjanov |
13c92f |
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
|
|
Denis Kirjanov |
13c92f |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Denis Kirjanov |
13c92f |
Signed-off-by: Denis Kirjanov <denis.kirjanov@suse.com>
|
|
Denis Kirjanov |
13c92f |
---
|
|
Denis Kirjanov |
13c92f |
drivers/net/ethernet/ezchip/nps_enet.c | 2 +-
|
|
Denis Kirjanov |
13c92f |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Denis Kirjanov |
13c92f |
|
|
Denis Kirjanov |
13c92f |
diff --git a/drivers/net/ethernet/ezchip/nps_enet.c b/drivers/net/ethernet/ezchip/nps_enet.c
|
|
Denis Kirjanov |
13c92f |
index 659f1ad37e96..fbadf08b7c5d 100644
|
|
Denis Kirjanov |
13c92f |
--- a/drivers/net/ethernet/ezchip/nps_enet.c
|
|
Denis Kirjanov |
13c92f |
+++ b/drivers/net/ethernet/ezchip/nps_enet.c
|
|
Denis Kirjanov |
13c92f |
@@ -658,8 +658,8 @@ static s32 nps_enet_remove(struct platform_device *pdev)
|
|
Denis Kirjanov |
13c92f |
struct nps_enet_priv *priv = netdev_priv(ndev);
|
|
Denis Kirjanov |
13c92f |
|
|
Denis Kirjanov |
13c92f |
unregister_netdev(ndev);
|
|
Denis Kirjanov |
13c92f |
- free_netdev(ndev);
|
|
Denis Kirjanov |
13c92f |
netif_napi_del(&priv->napi);
|
|
Denis Kirjanov |
13c92f |
+ free_netdev(ndev);
|
|
Denis Kirjanov |
13c92f |
|
|
Denis Kirjanov |
13c92f |
return 0;
|
|
Denis Kirjanov |
13c92f |
}
|
|
Denis Kirjanov |
13c92f |
--
|
|
Denis Kirjanov |
13c92f |
2.16.4
|
|
Denis Kirjanov |
13c92f |
|