History

livepatch: Improve error handling in klp_disable_func()

In case of func->state or func->old_addr not having expected values, we'd rather bail out immediately from klp_disable_func(). This can't really happen with the current codebase, but fix this anyway in the sake of robustness. [jkosina@suse.com: reworded the changelog a bit] Signed-off-by: Minfei Huang <mnfhuang@gmail.com> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>

Minfei Huang committed 11 years ago

Commit 225f58f1 parent 0faef831 file · +4 −2Browse files

Unified · Split

kernel/livepatch/core.c+4−2
@@ -348,8 +348,10 @@ static void klp_disable_func(struct klp_func *func) · 347 unmodified lines
348348 {
349349 struct klp_ops *ops;
350350
351− WARN_ON(func->state != KLP_ENABLED);
352− WARN_ON(!func->old_addr);
351+ if (WARN_ON(func->state != KLP_ENABLED))
352+ return;
353+ if (WARN_ON(!func->old_addr))
354+ return;
353355
354356 ops = klp_find_ops(func->old_addr);
355357 if (WARN_ON(!ops))