Re: [PATCH 1/1] tty: n_gsm: Avoid sleeping during .write() whilst atomic

Greg Kroah-Hartman
2023-10-04T06:04:20Z

On Tue, Oct 03, 2023 at 07:55:00PM +0100, Lee Jones wrote:
> On Tue, 03 Oct 2023, Greg Kroah-Hartman wrote:
>
> > On Tue, Oct 03, 2023 at 06:00:20PM +0100, Lee Jones wrote:
> > > The important part of the call stack being:
> > >
> > > gsmld_write() # Takes a lock and disables IRQs
> > > con_write()
> > > console_lock()
> >
> > Wait, why is the n_gsm line discipline being used for a console?
> >
> > What hardware/protocol wants this to happen?
> >
> > gsm I thought was for a very specific type of device, not a console.
> >
> > As per:
> > https://www.kernel.org/doc/html/v5.9/driver-api/serial/n_gsm.html
> > this is a specific modem protocol, why is con_write() being called?
>
> What it's meant for and what random users can make it do are likely to
> be quite separate questions. This scenario is user driven and can be
> replicated simply by issuing a few syscalls (open, ioctl, write).

I would recommend that any distro/system that does not want to support
this specific hardware protocol, just disable it for now (it's marked as
experimental too), if they don't want to deal with the potential
sleep-while-atomic issue.

> > And Lee, you really don't have this hardware, right? So why are you
> > dealing with bug reports for it? :)
>
> 'cos Syzkaller.

Ah, yeah, fake report, no real issue here then :)

thanks,

greg k-h