lkml.org 
[lkml]   [2010]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -tip 2/2] [BUGFIX] kprobes/x86: Fix removed int3 checking order
    On Tue, Apr 27, 2010 at 06:33:49PM -0400, Masami Hiramatsu wrote:
    > Fix kprobe/x86 to check removed int3 when failing to get kprobe
    > from hlist. Since we have a time window between checking int3
    > exists on probed address and getting kprobe on that address,
    > we can have following senario.
    > -------
    > CPU1 CPU2
    > hit int3
    > check int3 exists
    > remove int3
    > remove kprobe from hlist
    > get kprobe from hlist
    > no kprobe->OOPS!
    > -------

    Do you have a testcase for this issue?

    > This patch moves int3 checking if there is no kprobe on that
    > address for fixing this problem as follows;
    > ------
    > CPU1 CPU2
    > hit int3
    > remove int3
    > remove kprobe from hlist
    > get kprobe from hlist
    > no kprobe->check int3 exists
    > ->rollback&retry
    > ------

    You may also want to fix up the comment on top of kprobe_handler() about
    the interrupt gate as its only true for x86_32 and not x86_64, right?

    > Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
    > Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    > Cc: Dave Anderson <anderson@redhat.com>
    > Cc: Ingo Molnar <mingo@elte.hu>

    Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>


    \
     
     \ /
      Last update: 2010-04-28 05:03    [W:0.025 / U:0.076 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site