[PATCH 0/3] Livepatch module notifier cleanup

From: Jessica Yu
Date: Wed Mar 09 2016 - 17:14:36 EST

These are the remaining 3 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 and 2) in
preparation for the klp_module_{coming,going} calls (patch 3). 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 3 I've added back the #if IS_ENABLED(CONFIG_LIVEPATCH)
guard in livepatch.h, and in patch 2 I decided that it might be safer to
change mod->state with the module mutex held.

Patches based on linux-next.

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

Jessica Yu (3):
modules: split part of complete_formation() into prepare_coming_module()
modules: set mod->state to GOING before going notifiers are called
livepatch/module: remove livepatch module notifier

include/linux/livepatch.h | 13 +++++
kernel/livepatch/core.c | 145 ++++++++++++++++++++++------------------------
kernel/module.c | 39 ++++++++++---
3 files changed, 113 insertions(+), 84 deletions(-)