lkml.org 
[lkml]   [2014]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v8] kernel, add panic_on_warn


On 11/07/2014 05:15 AM, David Rientjes wrote:
> On Thu, 6 Nov 2014, Vivek Goyal wrote:
>
>> On Thu, Nov 06, 2014 at 01:57:36PM -0800, David Rientjes wrote:
>>
>> [..]
>>> You see that doing
>>>
>>> if (panic_on_warn) {
>>> panic_on_warn = 0;
>>> panic(...);
>>> }
>>>
>>> is racy, I hope. If two threads WARN() at the same time, then there's
>>> nothing preventing a double panic() because WARN() itself is not
>>> serialized against anything. So both the current comment and your
>>> suggested revision comment are bogus.
>>
>> panic() is serialized on panic_lock. So I guess it is fine to hit WARN()
>> on multiple cpus. Do you see an issue there?
>>
>
> No issue at all, what's completely mysterious is the panic_on_warn = 0 and
> the completely bogus comment that says "prevent further WARN()s from
> panicking the system" when that's racy. There's no need to clear
> panic_on_warn at all.

There very much is. Consider a thread that hits a WARN() and then panics. Then
somewhere in the panic code the thread hits another WARN() ... and then panics
again. Previously this would have caused the system to "finish" panick'ing.
Now it makes the system hang.

P.
>


\
 
 \ /
  Last update: 2014-11-07 12:41    [W:0.071 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site