diff options
Diffstat (limited to 'kernel/livepatch/core.c')
-rw-r--r-- | kernel/livepatch/core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c index eb134479c394..287f71e9dbfe 100644 --- a/kernel/livepatch/core.c +++ b/kernel/livepatch/core.c | |||
@@ -282,6 +282,9 @@ static int __klp_disable_patch(struct klp_patch *patch) | |||
282 | { | 282 | { |
283 | struct klp_object *obj; | 283 | struct klp_object *obj; |
284 | 284 | ||
285 | if (WARN_ON(!patch->enabled)) | ||
286 | return -EINVAL; | ||
287 | |||
285 | if (klp_transition_patch) | 288 | if (klp_transition_patch) |
286 | return -EBUSY; | 289 | return -EBUSY; |
287 | 290 | ||
@@ -293,7 +296,7 @@ static int __klp_disable_patch(struct klp_patch *patch) | |||
293 | klp_init_transition(patch, KLP_UNPATCHED); | 296 | klp_init_transition(patch, KLP_UNPATCHED); |
294 | 297 | ||
295 | klp_for_each_object(patch, obj) | 298 | klp_for_each_object(patch, obj) |
296 | if (patch->enabled && obj->patched) | 299 | if (obj->patched) |
297 | klp_pre_unpatch_callback(obj); | 300 | klp_pre_unpatch_callback(obj); |
298 | 301 | ||
299 | /* | 302 | /* |