lkml.org 
[lkml]   [2013]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [x86] BUG: unable to handle kernel paging request at 00740060
    I'll try to find other messages to understand what you are talking
    about, just one note for now....

    On 10/07, Linus Torvalds wrote:
    >
    > Your oops makes very little sense, it looks like task_work_run() just
    > called out to random crap, probably because the work was already
    > released, so "work->func()" ends up being bad.

    Or task_work_run() can hit work->func == NULL if do_exit() is called
    twice if, say, the task does BUG() after exit_task_work().

    > participants anyway, just in case there is some race. The comment says
    > that it can race with task_work_cancel() playing with *work. Oleg,
    > comments?

    The comment tries to say that if we are racing with task_work_cancel()
    it can't delete the first entry == work, we won the race, its
    cmpxchg(task->task_works) should fail.

    Howver, task_work_cancel() can delete one of the next entries and
    change, say, work->next. And we need to wait anyway if it scans this
    list.

    I'll try to recheck, but so far I do not see anything wrong.

    Oleg.



    \
     
     \ /
      Last update: 2013-10-08 17:01    [W:4.280 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site