FW: [RFC PATCH 2/3] Djprobe improvement patches (Re: Dynamic djprobe)
Keshavamurthy, Anil S
anil.s.keshavamurthy@intel.com
Tue Aug 2 17:58:00 GMT 2005
[Forwarding to systemtap as my original mail did not make it to
systemtap]
-----Original Message-----
From: Keshavamurthy, Anil S
Sent: Tuesday, August 02, 2005 10:54 AM
To: Masami Hiramatsu
Cc: systemtap@sources.redhat.com; Keshavamurthy, Anil S; Roland McGrath;
Richard J Moore; Andi Kleen; michel.dagenais@polymtl.ca; Mathieu
Desnoyers; Frank Ch. Eigler; Karim Yaghmour; Satoshi Oshima; Hideo Aoki;
Yumiko Sugita
Subject: Re: [RFC PATCH 2/3] Djprobe improvement patches (Re: Dynamic
djprobe)
On Wed, Aug 03, 2005 at 02:07:38AM +0900, Masami Hiramatsu wrote:
> diff -Narup linux-2.6.12-djprobe.2/arch/i386/kernel/kprobes.c
linux-2.6.12-djprobe.3/arch/i386/kernel/kprobes.c
> --- linux-2.6.12-djprobe.2/arch/i386/kernel/kprobes.c 2005-08-01
22:00:17.000000000 +0900
> +++ linux-2.6.12-djprobe.3/arch/i386/kernel/kprobes.c 2005-08-02
20:30:10.000000000 +0900
> @@ -497,7 +497,7 @@ int djprobe_bypass_handler(struct kprobe
> kprobe_opcode_t *stub = djpi->stub.insn;
> int cpu = smp_processor_id();
>
> - if (!DJPI_CHECKED(djpi)) {
> + if (!DJPI_CHECKED(djpi) && check_safety_djprobe_instance(djpi))
{
> cpu_set(cpu, djpi->checked_cpus); /* check this cpu */
>
> if (DJPI_CHECKED(djpi)) { /* all cpus are checked */
Still you are assuming that all CPU's to enter djprobe_bypass_handler()
which is incorrct. Please fix this logic.
thanks,
-Anil
More information about the Systemtap
mailing list