lkml.org 
[lkml]   [2019]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH 0/2] Access console drivers list under console_sem
    On (04/23/19 09:48), Steven Rostedt wrote:
    > > RFC
    > >
    > > Normally, we grab console_sem lock before we iterate consoles
    > > list, which is necessary if we want to be race free. The only exception
    > > to this rule is console_flush_on_panic(). However, it seems that we are
    > > not fully race free - register_console() iterates console drivers list
    > > in unsafe manner in several places. E.g. the following scenarion:
    > >
    > > CPU0 CPU1
    > > register_console() unregister_console()
    > > console_lock()
    > > for_each_console() // modify console_drivers
    > > con->foo kfree(con)
    > >
    > > So I have two quick-n-dirty patches, which remove unsafe console list
    > > access.
    > >
    > > What do you think?
    >
    > I just skimmed the patches and haven't done a thorough review, but the
    > concept seems sane to me.

    Thank you Steven. Let me know if anything doesn't work for you.

    I have vague memories of a kernel Oops at con->foo dereferencing
    (saw a message on linux-rt-users list a while ago, if I'm not
    mistaken). And it seems that we have some races in printk code.

    -ss

    \
     
     \ /
      Last update: 2019-04-24 07:43    [W:2.340 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site