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

From: Ananth N Mavinakayanahalli
Date: Thu Nov 06 2008 - 23:47:52 EST


On Thu, Nov 06, 2008 at 06:54:56PM -0800, Andrew Morton wrote:
> 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.

That is correct and this doesn't warrant inclusion in 2.6.27.x.

Ananth
--
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/