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]
Date:   Thu, 29 Sep 2022 14:19:06 +0300 (EEST)
From:   Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To:     Sherry Sun <sherry.sun@....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"

On Thu, 29 Sep 2022, Sherry Sun wrote:

> > > 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. 

This didn't answer my question. Is the main cause just lacking the ->cons
from sport at this point which, I guess, could be just assigned from 
lpuart_reg similar to what uart_add_one_port() does before calling to 
reset?

-- 
 i.

> 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