[PATCH v2 0/2] Livepatch module notifier cleanup

From: Jessica Yu
Date: Fri Mar 11 2016 - 15:04:17 EST


These are the remaining 2 patches that came from the original ftrace/livepatch
module notifier patchset found here: https://lkml.org/lkml/2016/2/8/1180

Basically, the patchset does a bit of module.c cleanup (patch 1) in
preparation for the klp_module_{coming,going} calls (patch 2). We decided
to stop relying on the module notifier callchain in favor of hard-coding
the appropriate livepatch function calls that handle coming and going
modules. Hard-coding these calls will guarantee that ftrace and livepatch
exit/initialization routines are called in the correct order without
relying on module notifiers.

The patches should be nearly exactly the same as those from the previous
discussion, except in patch 2 I've added back the #if IS_ENABLED(CONFIG_LIVEPATCH)
guard in livepatch.h.

Patches based on linux-next.

Previous discussion (v4) found here: https://lkml.org/lkml/2016/2/8/1180

v2:
- we don't need to change mod->state to GOING when cleaning up during
failed module load
- modify mod->state check to allow klp_module_going() to be called in
both COMING and GOING states

Jessica Yu (2):
modules: split part of complete_formation() into prepare_coming_module()
livepatch/module: remove livepatch module notifier

include/linux/livepatch.h | 13 ++++
kernel/livepatch/core.c | 147 ++++++++++++++++++++++------------------------
kernel/module.c | 36 +++++++++---
3 files changed, 112 insertions(+), 84 deletions(-)

--
2.4.3