lkml.org 
[lkml]   [2009]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -tip 2/3] kprobes: no need to unlock kprobe_insn_mutex
    Date
    Remove needless kprobe_insn_mutex unlocking during safety check in garbage
    collection, because if someone releases a dirty slot during safety check
    (which ensures other cpus doesn't execute all dirty slots), the safety check
    must be fail. So, we need to hold the mutex while checking safety.

    Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
    Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Jim Keniston <jkenisto@us.ibm.com>
    ---

    kernel/kprobes.c | 6 +-----
    1 files changed, 1 insertions(+), 5 deletions(-)

    diff --git a/kernel/kprobes.c b/kernel/kprobes.c
    index c0fa54b..16b5739 100644
    --- a/kernel/kprobes.c
    +++ b/kernel/kprobes.c
    @@ -237,13 +237,9 @@ static int __kprobes collect_garbage_slots(void)
    {
    struct kprobe_insn_page *kip;
    struct hlist_node *pos, *next;
    - int safety;

    /* Ensure no-one is preepmted on the garbages */
    - mutex_unlock(&kprobe_insn_mutex);
    - safety = check_safety();
    - mutex_lock(&kprobe_insn_mutex);
    - if (safety != 0)
    + if (check_safety())
    return -EAGAIN;

    hlist_for_each_entry_safe(kip, pos, next, &kprobe_insn_pages, hlist) {

    --
    Masami Hiramatsu

    Software Engineer
    Hitachi Computer Products (America), Inc.
    Software Solutions Division

    e-mail: mhiramat@redhat.com


    \
     
     \ /
      Last update: 2009-06-30 23:09    [W:0.026 / U:59.012 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site