lkml.org 
[lkml]   [2009]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: oops in tracepoint_update_probe_range() (was: Re: [oops -tip] : x86 AMD 64)
    From
    Date
    On Wed, 2009-03-18 at 17:35 +0100, Ingo Molnar wrote:
    > * Jaswinder Singh Rajput <jaswinder@kernel.org> wrote:
    >
    > > Good: f4c3c4cdb1de232
    > > Bad : 1e08816af0bc345
    > >
    > > Config:
    > > http://userweb.kernel.org/~jaswinder/oops_20090318/config-hpdv5-tip-bad-20090318
    > >
    > > oops:
    > > http://userweb.kernel.org/~jaswinder/oops_20090318/oops_page1.jpg
    > > http://userweb.kernel.org/~jaswinder/oops_20090318/oops_page2.jpg
    > > http://userweb.kernel.org/~jaswinder/oops_20090318/oops_page3.jpg
    > > http://userweb.kernel.org/~jaswinder/oops_20090318/oops_page4.jpg
    > >
    > > <freeze>
    >
    > Steve, Frederic - the crashes above are in:
    >
    > tracepoint_update_probe_range()
    >
    > in a modular kernel apparently.
    >

    This fixed the oops for me, Is this looks OK to you:

    Subject: [PATCH] x86: tracepoint.c fix oops

    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [<ffffffff8107d4de>] tracepoint_update_probe_range+0x1f/0x9b
    PGD 13d5fb067 PUD 13d688067 PMD 0
    Oops: 0000 [#1] SMP

    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
    ---
    kernel/tracepoint.c | 3 +++
    1 files changed, 3 insertions(+), 0 deletions(-)

    diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
    index 7960274..80d1353 100644
    --- a/kernel/tracepoint.c
    +++ b/kernel/tracepoint.c
    @@ -280,6 +280,8 @@ void tracepoint_update_probe_range(struct tracepoint *begin,

    mutex_lock(&tracepoints_mutex);
    for (iter = begin; iter < end; iter++) {
    + if (!iter)
    + goto out;
    mark_entry = get_tracepoint(iter->name);
    if (mark_entry) {
    set_tracepoint(&mark_entry, iter,
    @@ -288,6 +290,7 @@ void tracepoint_update_probe_range(struct tracepoint *begin,
    disable_tracepoint(iter);
    }
    }
    +out:
    mutex_unlock(&tracepoints_mutex);
    }

    --
    1.6.0.6




    \
     
     \ /
      Last update: 2009-03-18 17:53    [W:3.666 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site