Re: [PATCH 1/2] serial: imx: fix crash when un/re-binding console

From: Francesco Dolcini
Date: Thu Oct 14 2021 - 06:28:21 EST


On Thu, Oct 14, 2021 at 10:01:53AM +0200, Francesco Dolcini wrote:
> Hello Greg,
>
> On Thu, Oct 14, 2021 at 09:33:55AM +0200, Greg Kroah-Hartman wrote:
> > On Thu, Oct 14, 2021 at 09:10:52AM +0200, Francesco Dolcini wrote:
> > > From: Stefan Agner <stefan@xxxxxxxx>
> > >
> > > If the device used as a serial console gets un/re-binded, then
> > > register_console() will call imx_uart_setup_console() again.
> > > Drop __init so that imx_uart_setup_console() can be safely called
> > > at runtime.
> > >
> > > Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
> > > Signed-off-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
> > > ---
> > > drivers/tty/serial/imx.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > What commit does this "fix"?
>
> root@colibri-imx6ull-06746657:~# cat /sys/devices/virtual/tty/console/active
> tty1 ttymxc0
> root@colibri-imx6ull-06746657:~# echo -n N > /sys/devices/virtual/tty/console/subsystem/ttymxc0/console
> root@colibri-imx6ull-06746657:~# echo -n Y > /sys/devices/virtual/tty/console/subsystem/ttymxc0/console
>
> struct console ->setup is called at that time, but imx_uart_console_setup() is gone ...

This specific way I described here to reproduce the issue was introduced with
a3cb39d258ef serial: core: Allow detach and attach serial device for console

that is kernel 5.9+

(Andy added to to:)

But the original report was about bind/unbind of the uart driver, I guess this is possible since
way more time.

>
> According to the original report from Stefan the issue is the same with unbind/bind of the console,
> see https://marc.info/?l=linux-serial&m=154221779312036&w=2.
>
>
> > Should this go to stable kernels? If so, how far back?
> This is present also in 4.19 kernel, I feel like the issue is there since it is possible to unbind
> a console driver (since ever considering the current LTS releases?). I could
> investigate this a little bit more.
>
> We have this patch in our kernel branch since 3 years but for some reason we never managed to upstream it.
>
>
> Francesco