All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tty: always relink the port
@ 2019-12-27 17:44 Sudip Mukherjee
  2020-01-10 10:08 ` Johan Hovold
  0 siblings, 1 reply; 3+ messages in thread
From: Sudip Mukherjee @ 2019-12-27 17:44 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jiri Slaby; +Cc: linux-kernel, Sudip Mukherjee

If the serial device is disconnected and reconnected, it re-enumerates
properly but does not link it. fwiw, linking means just saving the port
index, so allow it always as there is no harm in saving the same value
again even if it tries to relink with the same port.

Fixes: fb2b90014d78 ("tty: link tty and port before configuring it as console")
Reported-by: Kenneth R. Crudup <kenny@panix.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
---
 drivers/tty/tty_port.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
index 5023c85ebc6e..044c3cbdcfa4 100644
--- a/drivers/tty/tty_port.c
+++ b/drivers/tty/tty_port.c
@@ -89,8 +89,7 @@ void tty_port_link_device(struct tty_port *port,
 {
 	if (WARN_ON(index >= driver->num))
 		return;
-	if (!driver->ports[index])
-		driver->ports[index] = port;
+	driver->ports[index] = port;
 }
 EXPORT_SYMBOL_GPL(tty_port_link_device);
 
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tty: always relink the port
  2019-12-27 17:44 [PATCH] tty: always relink the port Sudip Mukherjee
@ 2020-01-10 10:08 ` Johan Hovold
  2020-01-10 10:14   ` Greg Kroah-Hartman
  0 siblings, 1 reply; 3+ messages in thread
From: Johan Hovold @ 2020-01-10 10:08 UTC (permalink / raw)
  To: Sudip Mukherjee; +Cc: Greg Kroah-Hartman, Jiri Slaby, linux-kernel

On Fri, Dec 27, 2019 at 05:44:34PM +0000, Sudip Mukherjee wrote:
> If the serial device is disconnected and reconnected, it re-enumerates
> properly but does not link it. fwiw, linking means just saving the port
> index, so allow it always as there is no harm in saving the same value
> again even if it tries to relink with the same port.

This is a pretty vague description. Commit fb2b90014d78 ("tty: link tty
and port before configuring it as console") completely broke usb-serial
(and anything else hotpluggable) which obviously depends on being able
to reuse a minor number when a new device is later plugged in after a
disconnect.

Things are crashing left and right due to that stale port-pointer, and I
just had to debug this only to find that this one is sitting in the
tty-linus branch. I know, I know, Christmas and all, but would be nice
to get it into -rc6. :)

> Fixes: fb2b90014d78 ("tty: link tty and port before configuring it as console")

Also note that the offending commit had a stable tag unlike this one.

> Reported-by: Kenneth R. Crudup <kenny@panix.com>
> Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
> ---
>  drivers/tty/tty_port.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
> index 5023c85ebc6e..044c3cbdcfa4 100644
> --- a/drivers/tty/tty_port.c
> +++ b/drivers/tty/tty_port.c
> @@ -89,8 +89,7 @@ void tty_port_link_device(struct tty_port *port,
>  {
>  	if (WARN_ON(index >= driver->num))
>  		return;
> -	if (!driver->ports[index])
> -		driver->ports[index] = port;
> +	driver->ports[index] = port;
>  }
>  EXPORT_SYMBOL_GPL(tty_port_link_device);

Johan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tty: always relink the port
  2020-01-10 10:08 ` Johan Hovold
@ 2020-01-10 10:14   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2020-01-10 10:14 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Sudip Mukherjee, Jiri Slaby, linux-kernel

On Fri, Jan 10, 2020 at 11:08:17AM +0100, Johan Hovold wrote:
> On Fri, Dec 27, 2019 at 05:44:34PM +0000, Sudip Mukherjee wrote:
> > If the serial device is disconnected and reconnected, it re-enumerates
> > properly but does not link it. fwiw, linking means just saving the port
> > index, so allow it always as there is no harm in saving the same value
> > again even if it tries to relink with the same port.
> 
> This is a pretty vague description. Commit fb2b90014d78 ("tty: link tty
> and port before configuring it as console") completely broke usb-serial
> (and anything else hotpluggable) which obviously depends on being able
> to reuse a minor number when a new device is later plugged in after a
> disconnect.
> 
> Things are crashing left and right due to that stale port-pointer, and I
> just had to debug this only to find that this one is sitting in the
> tty-linus branch. I know, I know, Christmas and all, but would be nice
> to get it into -rc6. :)

Sorry, yes, my fault, will get to Linus either today or tomorrow.

> > Fixes: fb2b90014d78 ("tty: link tty and port before configuring it as console")
> 
> Also note that the offending commit had a stable tag unlike this one.

I'll pick it up properly, I have held off on adding the original to the
stable trees yet.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-10 10:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-27 17:44 [PATCH] tty: always relink the port Sudip Mukherjee
2020-01-10 10:08 ` Johan Hovold
2020-01-10 10:14   ` Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.