lkml.org 
[lkml]   [2020]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v4 03/18] module: Properly propagate MODULE_STATE_COMING failure
    Now that notifiers got unbroken; use the proper interface to handle
    notifier errors and propagate them.

    There were already MODULE_STATE_COMING notifiers that failed; notably:

    - jump_label_module_notifier()
    - tracepoint_module_notify()
    - bpf_event_notify()

    By propagating this error, we fix those users.

    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Miroslav Benes <mbenes@suse.cz>
    Acked-by: Jessica Yu <jeyu@kernel.org>
    Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
    ---
    kernel/module.c | 10 +++++++---
    1 file changed, 7 insertions(+), 3 deletions(-)

    --- a/kernel/module.c
    +++ b/kernel/module.c
    @@ -3751,9 +3751,13 @@ static int prepare_coming_module(struct
    if (err)
    return err;

    - blocking_notifier_call_chain(&module_notify_list,
    - MODULE_STATE_COMING, mod);
    - return 0;
    + err = blocking_notifier_call_chain_robust(&module_notify_list,
    + MODULE_STATE_COMING, MODULE_STATE_GOING, mod);
    + err = notifier_to_errno(err);
    + if (err)
    + klp_module_going(mod);
    +
    + return err;
    }

    static int unknown_module_param_cb(char *param, char *val, const char *modname,

    \
     
     \ /
      Last update: 2020-05-01 22:39    [W:4.092 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site