On Fri, 27 Oct 2017 17:23:15 +0800
Zhou Chengming <zhouchengmi...@huawei.com> wrote:

> When check_kprobe_address_safe() return fail, the probed_mod
> should be set to NULL, because no module refcount held. And we
> initialize probed_mod to NULL in register_kprobe() for the same reason.
> 

Ok, it's a kind of hardening code but looks good to me.

Acked-by: Masami Hiramatsu <mhira...@kernel.org>

Thank you!


> Signed-off-by: Zhou Chengming <zhouchengmi...@huawei.com>
> ---
>  kernel/kprobes.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> index 1eeedac..a04588c 100644
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -1488,6 +1488,7 @@ static int check_kprobe_address_safe(struct kprobe *p,
>                * its code to prohibit unexpected unloading.
>                */
>               if (unlikely(!try_module_get(*probed_mod))) {
> +                     *probed_mod = NULL;
>                       ret = -ENOENT;
>                       goto out;
>               }
> @@ -1514,7 +1515,7 @@ int register_kprobe(struct kprobe *p)
>  {
>       int ret;
>       struct kprobe *old_p;
> -     struct module *probed_mod;
> +     struct module *probed_mod = NULL;
>       kprobe_opcode_t *addr;
>  
>       /* Adjust probe address from symbol */
> -- 
> 1.8.3.1
> 


-- 
Masami Hiramatsu <mhira...@kernel.org>

Reply via email to