[PATCH -next] livepatch: Fix missing unlock on error in klp_enable_patch()

From: Yang Yingliang
Date: Fri Dec 24 2021 - 21:54:26 EST


Add missing unlock when try_module_get() fails in klp_enable_patch().

Fixes: bf01c2975925 ("livepatch: Fix kobject refcount bug on klp_init_patch_early failure path")
Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
---
kernel/livepatch/core.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
index 23cf444091a8..01bfab7fe7c0 100644
--- a/kernel/livepatch/core.c
+++ b/kernel/livepatch/core.c
@@ -1047,8 +1047,10 @@ int klp_enable_patch(struct klp_patch *patch)
return -EINVAL;
}

- if (!try_module_get(patch->mod))
+ if (!try_module_get(patch->mod)) {
+ mutex_unlock(&klp_mutex);
return -ENODEV;
+ }

klp_init_patch_early(patch);

--
2.25.1