linux_dsm_epyc7002/kernel/livepatch
Joe Lawrence ef8daf8eeb livepatch: unpatch all klp_objects if klp_module_coming fails
When an incoming module is considered for livepatching by
klp_module_coming(), it iterates over multiple patches and multiple
kernel objects in this order:

	list_for_each_entry(patch, &klp_patches, list) {
		klp_for_each_object(patch, obj) {

which means that if one of the kernel objects fails to patch,
klp_module_coming()'s error path needs to unpatch and cleanup any kernel
objects that were already patched by a previous patch.

Reported-by: Miroslav Benes <mbenes@suse.cz>
Suggested-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2017-10-11 15:38:46 +02:00
..
core.c livepatch: unpatch all klp_objects if klp_module_coming fails 2017-10-11 15:38:46 +02:00
core.h livepatch: make klp_mutex proper part of API 2017-03-08 14:40:53 +01:00
Kconfig livepatch: Make livepatch dependent on !TRIM_UNUSED_KSYMS 2017-05-27 00:27:37 +02:00
Makefile livepatch: change to a per-task consistency model 2017-03-08 09:36:21 +01:00
patch.c livepatch: Fix stacking of patches with respect to RCU 2017-06-20 10:42:19 +02:00
patch.h livepatch: change to a per-task consistency model 2017-03-08 09:36:21 +01:00
transition.c livepatch: Fix stacking of patches with respect to RCU 2017-06-20 10:42:19 +02:00
transition.h livepatch: change to a per-task consistency model 2017-03-08 09:36:21 +01:00