[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201706292024.DII69277.OFJVSOFtFQHOML@I-love.SAKURA.ne.jp>
Date: Thu, 29 Jun 2017 20:24:03 +0900
From: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
To: sergey.senozhatsky.work@...il.com, pmladek@...e.com
Cc: sergey.senozhatsky@...il.com, rostedt@...dmis.org, jack@...e.cz,
akpm@...ux-foundation.org, peterz@...radead.org, rjw@...ysocki.net,
ebiederm@...ssion.com, gregkh@...uxfoundation.org, jslaby@...e.com,
pavel@....cz, andi@...as.de, linux-kernel@...r.kernel.org
Subject: Re: [RFC][PATCHv3 2/5] printk: introduce printing kernel thread
Sergey Senozhatsky wrote:
> On (06/28/17 14:19), Petr Mladek wrote:
> > Our two proposals are very close after all. I suggest to make
> > the following changes in your patch:
> >
> > + Remove the waiting for another console_lock owner. It is
> > too tricky.
>
> we lose the printing guarantees this way. what if printk_kthread
> doesn't wake up after all? the whole point of this design twist
> (and previous discussions) was that people spoke up and said that
> they want printk to do the thing it was doing for decades. even if
> it would cause lockup reports sometimes (but it doesn't seem to be
> such a common problem after all. how many people see printk lockup
> reports more or less regularly?).
I do see printk lockup regularly because warn_alloc() from __alloc_pages_may_oom()
is basically doing
while (1) {
dump_stack();
cond_resched();
}
as long as somebody is looping inside console_unlock() with oom_lock mutex held.
Since warn_alloc() is currently a local DoS attack vector, I'm waiting for this
printk offloading patch to be merged into mainline, but it seems that this
offloading might not be able to become a solution to warn_alloc() lockup problem.
Powered by blists - more mailing lists