[PATCH] nvmem: core: Fix a potential use after free
From: Xu Wang
Date: Fri Dec 27 2019 - 04:20:51 EST
Free the nvmem structure only after we are done using it.
This patch just moves the put_device() down a bit to avoid the
use after free.
Signed-off-by: Xu Wang <vulab@xxxxxxxxxxx>
---
drivers/nvmem/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
index 9f1ee9c..7051d34 100644
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -535,8 +535,8 @@ static struct nvmem_device *__nvmem_device_get(void *data,
static void __nvmem_device_put(struct nvmem_device *nvmem)
{
- put_device(&nvmem->dev);
module_put(nvmem->owner);
+ put_device(&nvmem->dev);
kref_put(&nvmem->refcnt, nvmem_device_release);
}
--
2.7.4