[PATCH] arm: Make kprobes unregistration SMP safe
Russell King - ARM Linux
linux at arm.linux.org.uk
Fri Sep 18 15:44:03 EDT 2009
On Thu, Sep 17, 2009 at 08:40:10PM -0400, Nicolas Pitre wrote:
> On Wed, 16 Sep 2009, Frédéric RISS wrote:
> > ARM kprobes use an illegal instruction to trigger kprobes. In the
> > current implementation, there's a race between the unregistration of a
> > kprobe and the illegal instruction exception handler if they run at the
> > same time on different cores.
> > When reading the value of the undefined instruction, the exception
> > handler might get the original legal instruction as just patched
> > concurrently by arch_disarm_kprobe(). When this happen the kprobe
> > handler won't run, and thus the exception handler will oops because it
> > believe it just hit an undefined instruction in kernel space.
> > The following patch synchronizes the code patching in the kprobes
> > unregistration using stop_machine and thus avoids the above race.
> > Signed-off-by: Frederic RISS <frederic.riss at gmail.com>
> Acked-by: Nicolas Pitre <nico at fluxnic.net>
Frédéric, please submit to the patch system, thanks.
More information about the linux-arm-kernel