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>
Showing the changes to kernel/livepatch (1 of 1 file). Show all
Unified · Split
| @@ -348,8 +348,10 @@ static void klp_disable_func(struct klp_func *func) · 347 unmodified lines | ||
| 348 | 348 | { |
| 349 | 349 | struct klp_ops *ops; |
| 350 | 350 | |
| 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; | |
| 353 | 355 | |
| 354 | 356 | ops = klp_find_ops(func->old_addr); |
| 355 | 357 | if (WARN_ON(!ops)) |