livepatch: __klp_disable_patch() should never be called for disabled patches
[sfrench/cifs-2.6.git] / 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);
 
        /*