[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190424054305.GA28894@jagdpanzerIV>
Date: Wed, 24 Apr 2019 14:43:05 +0900
From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Petr Mladek <pmladek@...e.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>
Subject: Re: [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
Powered by blists - more mailing lists