[PATCH] livepatch: Move error print out of lock protection in klp_enable_patch()

From: Zhen Lei
Date: Wed Aug 31 2022 - 22:27:42 EST


The patch->mod is not a protected object of mutex_lock(&klp_mutex). Since
it's in the error handling branch, it might not be helpful to reduce lock
conflicts, but it can reduce some code size.

Before:
text data bss dec hex filename
10330 464 8 10802 2a32 kernel/livepatch/core.o

After:
text data bss dec hex filename
10307 464 8 10779 2a1b kernel/livepatch/core.o

Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
---
kernel/livepatch/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
index 42f7e716d56bf72..cb7abc821a50584 100644
--- a/kernel/livepatch/core.c
+++ b/kernel/livepatch/core.c
@@ -1041,9 +1041,9 @@ int klp_enable_patch(struct klp_patch *patch)
mutex_lock(&klp_mutex);

if (!klp_is_patch_compatible(patch)) {
+ mutex_unlock(&klp_mutex);
pr_err("Livepatch patch (%s) is not compatible with the already installed livepatches.\n",
patch->mod->name);
- mutex_unlock(&klp_mutex);
return -EINVAL;
}

--
2.25.1