Re: 3.8-rc regression with pps-ldisc due to 70ece7a731

Peter Hurley
2013-02-06T16:16:00Z

On Mon, 2013-02-04 at 02:08 -0500, George Spelvin wrote:
> Just a quick update: the previously posted patch *does* work;
> the crash I was experiencing was pilot error.
>
> My NTP server is running a 3.8.0-rc6-dirty kernel right now.
>
> I'll research whether that race I talk about in pps_tty_dcd_change
> is actually possible or not (can interrupts start arriving before the
> ->open() method returns?) and work out a finished minimal bugfix patch
> if nobody else finds a better solution.

You are not supposed to receive ldisc->dcd_change() calls outside
the open()/close() pair.

The ldisc is separately enabled/halted which is supposed to prevent
ldisc usage if a ldisc reference cannot be acquired (because it's
halted). The reference is acquired prior to calling the ->dcd_change()
routine.

In the patch series I sent, I changed the BUG_ON() to WARN_ON_ONCE().
Please reply to that patch with the snipped kernel log output if it
warns in your testing and we'll go from there.

> (Have I mentioned how ANNOYING it is when the kernel dumps more than
> 50 lines of crash message to the console screen and then locks
> the keyboard so I can't scroll back?)

netconsole on 2nd machine (see Documentation/networking/netconsole.txt)

Regards,
Peter Hurley