Re: [PATCH] kprobes: bugfix: try_module_get even if calling_mod isNULL

From: Andrew Morton
Date: Thu Nov 06 2008 - 21:55:55 EST


On Fri, 07 Nov 2008 11:28:02 +0900 Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> Andrew Morton wrote:
> > I do not understand this description "Get probed module even if the
> > caller is in the kernel core code".
> >
> > What bug is being fixed here? What is the kernel behaviour before and
> > after the patch?
>
> When someone called register_*probe() from kernel-core code(not from
> module) and that probes a kernel module, users can remove the probed
> module because kprobe doesn't increment reference counter of the module.
> (on the other hand, if the kernel-module calls register_*probe,
> kprobe increments refcount of the probed module.)
>
> Currently, we have no register_*probe() calling from kernel-core(except
> smoke-test, but the smoke-test doesn't probe module), so there is no
> real bugs. But the logic is wrong(or not fair) and it can causes a
> problem when someone might want to probe module from kernel.
>
> After this patch is applied, even if someone put register_*probe() call
> in the kernel-core code, it increments the reference counter of the
> probed module, and it prevents user to remove the module until stopping
> probing it.
>
> > Was the bug present in 2.6.27, 2.6.26 etc? Or was it a post-2.6.28
> > regression?
>
> Hmm, it might be an enhancement, because currently the kernel doesn't
> have real bugs.
>

OK, thanks, so I scheduled this for 2.6.29.

Also, I decided that
kprobes-disable-preempt-for-module_text_address-and-kernel_text_address.patch
is needed in 2.6.28. Please let me know if that was incorrect. Please
also let me know if you think that patch is needed in 2.6.27.x or
earlier.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/