Re: [PATCH v5] ftrace/module: remove ftrace module notifier

From: Jiri Kosina
Date: Wed Feb 17 2016 - 15:35:38 EST


On Tue, 16 Feb 2016, Jessica Yu wrote:

> Remove the ftrace module notifier in favor of directly calling
> ftrace_module_enable() and ftrace_release_mod() in the module loader.
> Hard-coding the function calls directly in the module loader removes
> dependence on the module notifier call chain and provides better
> visibility and control over what gets called when, which is important
> to kernel utilities such as livepatch.
>
> This fixes a notifier ordering issue in which the ftrace module notifier
> (and hence ftrace_module_enable()) for coming modules was being called
> after klp_module_notify(), which caused livepatch modules to initialize
> incorrectly. This patch removes dependence on the module notifier call
> chain in favor of hard coding the corresponding function calls in the
> module loader. This ensures that ftrace and livepatch code get called in
> the correct order on patch module load and unload.
>
> Fixes: 5156dca34a3e ("ftrace: Fix the race between ftrace and insmod")
> Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx>
> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

Steven, I am going to assume that your Reviewed-by: still holds for the
patch even though it has been removed from the 4-patch series; if you
don't agree, please speak up. Otherwise, I am going to apply it and push
it to Linus for -rc5 still (as it fixes our regression).

Thanks,

--
Jiri Kosina
SUSE Labs