Re: [PATCH] v2 Re: Bug: Status/Summary of slashdot leap-second crash on new years 2008-2009

Chris Friesen
2009-06-18T22:35:18Z

Ben Hutchings wrote:
> On Sat, 2009-01-03 at 12:01 -0600, Chris Adams wrote:
>> Once upon a time, Duane Griffin <duaneg@dghda.com> said:
>>> How about instead of a switch statement, assigning the message to a
>>> variable and printing that. I.e. something like:
>> Good point. Here's an updated version that also adds a comment to the
>> xtime_lock definition about not using printk.
>> --
>> Chris Adams <cmadams@hiwaay.net>
>> Systems and Network Administrator - HiWAAY Internet Services
>> I don't speak for anybody but myself - that's enough trouble.
>>
>>
>> From: Chris Adams <cmadams@hiwaay.net>
>>
>> The code to handle leap seconds printks an information message when the
>> second is inserted or deleted. It does this while holding xtime_lock.
>> However, printk wakes up klogd, and in some cases, the scheduler tries
>> to get the current kernel time, trying to get xtime_lock (which results
>> in a deadlock). This moved the printks outside of the lock. It also
>> adds a comment to not use printk while holding xtime_lock.
> [...]
>
> This patch doesn't seem to have gone anywhere. Was this bug fixed in
> some other way or has it been forgotten?

I'm interested in this as well...the current code still issues a
printk() while holding the xtime_lock for writing. Is this allowed or not?

In addition, is it allowed for older kernels also or is Chris Adams'
patch something that should get picked up for the 2.6.27 stable series?

Chris