[PATCH v5 3/9] livepatch: Call klp_init_patch_early() earlier
Yafang Shao <[email protected]>
| Newsgroups | org.kernel.vger.live-patching |
|---|---|
| Message-ID | <[email protected]> |
Invoke klp_init_patch_early() during early initialization to avoid mixing for_each_() and for_each_*_static() variants later in the code. No functional change. This prepares the code for an upcoming patch. Suggested-by: Petr Mladek <[email protected]> Signed-off-by: Yafang Shao <[email protected]> --- kernel/livepatch/core.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c index c34306ecfb0b..3de3940d34b2 100644 --- a/kernel/livepatch/core.c +++ b/kernel/livepatch/core.c @@ -1145,13 +1145,6 @@ int klp_enable_patch(struct klp_patch *patch) mutex_lock(&klp_mutex); - if (!klp_is_patch_compatible(patch)) { - pr_err("Livepatch patch (%s) is not compatible with the already installed livepatches.\n", - patch->mod->name); - mutex_unlock(&klp_mutex); - return -EINVAL; - } - if (!try_module_get(patch->mod)) { mutex_unlock(&klp_mutex); return -ENODEV; @@ -1159,6 +1152,14 @@ int klp_enable_patch(struct klp_patch *patch) klp_init_patch_early(patch); + if (!klp_is_patch_compatible(patch)) { + pr_err("Livepatch patch (%s) is not compatible with the already installed livepatches.\n", + patch->mod->name); + ret = -EINVAL; + goto err; + } + + ret = klp_init_patch(patch); if (ret) goto err; -- 2.52.0