]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
livepatch: __klp_disable_patch() should never be called for disabled patches
authorPetr Mladek <pmladek@suse.com>
Fri, 20 Oct 2017 14:56:51 +0000 (16:56 +0200)
committerJiri Kosina <jkosina@suse.cz>
Thu, 26 Oct 2017 12:58:50 +0000 (14:58 +0200)
__klp_disable_patch() should never be called when the patch is not
enabled. Let's add the same warning that we have in __klp_enable_patch().

This allows to remove the check when calling klp_pre_unpatch_callback().
It was strange anyway because it repeatedly checked per-patch flag
for each patched object.

Signed-off-by: Petr Mladek <pmladek@suse.com>
Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
kernel/livepatch/core.c

index eb134479c3944e676a2cc6f4be905dc6590269e0..287f71e9dbfeb6efd0d65f1dbd3e46c86427526a 100644 (file)
@@ -282,6 +282,9 @@ static int __klp_disable_patch(struct klp_patch *patch)
 {
        struct klp_object *obj;
 
+       if (WARN_ON(!patch->enabled))
+               return -EINVAL;
+
        if (klp_transition_patch)
                return -EBUSY;
 
@@ -293,7 +296,7 @@ static int __klp_disable_patch(struct klp_patch *patch)
        klp_init_transition(patch, KLP_UNPATCHED);
 
        klp_for_each_object(patch, obj)
-               if (patch->enabled && obj->patched)
+               if (obj->patched)
                        klp_pre_unpatch_callback(obj);
 
        /*