lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AS8PR04MB84044F397918A3475B5D8D1D92579@AS8PR04MB8404.eurprd04.prod.outlook.com>
Date:   Thu, 29 Sep 2022 11:10:22 +0000
From:   Sherry Sun <sherry.sun@....com>
To:     Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
CC:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Jiri Slaby <jirislaby@...nel.org>,
        Lukas Wunner <lukas@...ner.de>,
        linux-serial <linux-serial@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        dl-linux-imx <linux-imx@....com>
Subject: RE: [PATCH] Revert "serial: fsl_lpuart: Reset prior to registration"



> 
> > This reverts commit 60f361722ad2ae5ee667d0b0545d40c42f754daf.
> >
> > commit 60f361722ad2 ("serial: fsl_lpuart: Reset prior to
> > registration") causes the lpuart console cannot work any more. Since
> > the console is registered in the uart_add_one_port(), the driver
> > cannot identify the console port before call uart_add_one_port(),
> > which causes all the uart ports including the console port will be global
> reset.
> > So need to revert this patch to avoid breaking the lpuart console.
> >
> > Signed-off-by: Sherry Sun <sherry.sun@....com>
> > ---
> >  drivers/tty/serial/fsl_lpuart.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/tty/serial/fsl_lpuart.c
> > b/drivers/tty/serial/fsl_lpuart.c index 67fa113f77d4..7da46557fcb3
> > 100644
> > --- a/drivers/tty/serial/fsl_lpuart.c
> > +++ b/drivers/tty/serial/fsl_lpuart.c
> > @@ -2722,10 +2722,6 @@ static int lpuart_probe(struct platform_device
> *pdev)
> >  		handler = lpuart_int;
> >  	}
> >
> > -	ret = lpuart_global_reset(sport);
> > -	if (ret)
> > -		goto failed_reset;
> > -
> 
> So the problem with this being so early is uart_console() in
> lpuart_global_reset() that doesn't detect a console because sport->cons is
> not yet assigned? Couldn't that be worked around differently?
> 
> Or is there something else in addition to that I'm missing?
> 
Hi Ilpo,

Yes, the root cause of the console cannot work after apply the commit 60f361722ad2 ("serial: fsl_lpuart: Reset prior to registration") is lpuart_global_reset() cannot identify the console port, so reset all uart ports.

Actually I've been thinking about any other workaround all afternoon, seems no other good options to me till now. And after a further check, I think the original patch is not needed, as uart_add_one_port() won't open the tty device, it should be safe to global reset the non-console ports after uart_add_one_port().

Best Regards
Sherry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ