[PATCH 2/7] kprobes: Add kprobe_insn_mutex and cleanup arch_remove_kprobe()
Masami Hiramatsu
mhiramat@redhat.com
Fri Nov 14 04:06:00 GMT 2008
Hi Andrew,
Andrew Morton wrote:
> On Tue, 11 Nov 2008 15:56:21 -0500
> Masami Hiramatsu <mhiramat@redhat.com> wrote:
>
>> Add kprobe_insn_mutex for protecting kprobe_insn_pages hlist, and remove
>> kprobe_mutex from architecture dependent code.
>>
>> This allows us to call arch_remove_kprobe() (and free_insn_slot) while holding
>> kprobe_mutex.
>>
>> Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
>> ---
>> arch/arm/kernel/kprobes.c | 2 --
>> arch/ia64/kernel/kprobes.c | 8 +++++---
>> arch/powerpc/kernel/kprobes.c | 7 ++++---
>> arch/s390/kernel/kprobes.c | 7 ++++---
>> arch/x86/kernel/kprobes.c | 7 ++++---
>> include/linux/kprobes.h | 1 -
>> kernel/kprobes.c | 25 +++++++++++++++++++++----
>
> For some reasons sparc64 never had this mutex. You've checked that
> sparc64 will be OK after this change?
I think it's OK for those archs.
Actually, this mutex is protecting insn_slot which stores copied
instructions into executable memory. Some architectures which
doesn't need that special memory have its own buffer in the
arch_specific_insn and they don't use insn_slot. On those arch,
kprobe_insn_mutex is not used (not defined).
Thank you,
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division
e-mail: mhiramat@redhat.com
More information about the Systemtap
mailing list