Re: [PATCH] serial: 8250: Check for valid console index

From: Tony Lindgren
Date: Wed Oct 04 2023 - 05:21:39 EST


* Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> [231004 09:13]:
> On Wed, 4 Oct 2023, Tony Lindgren wrote:
>
> > * Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> [231004 09:05]:
> > > On Wed, 4 Oct 2023, Tony Lindgren wrote:
> > >
> > > > Let's not allow negative numbers for console index.
> > > >
> > > > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> > > > ---
> > > > drivers/tty/serial/8250/8250_core.c | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
> > > > --- a/drivers/tty/serial/8250/8250_core.c
> > > > +++ b/drivers/tty/serial/8250/8250_core.c
> > > > @@ -611,7 +611,7 @@ static int univ8250_console_setup(struct console *co, char *options)
> > > > * if so, search for the first available port that does have
> > > > * console support.
> > > > */
> > > > - if (co->index >= UART_NR)
> > > > + if (co->index < 0 || co->index >= UART_NR)
> > > > co->index = 0;
> > >
> > > The inconsistencies how different serial drivers handle this situation
> > > seem staggering. Perhaps there should be some effort to make the behavior
> > > uniform across them?
> >
> > Hmm yeah we should just have them all check for co->index < 0.
>
> Right but it's only about that, some return -Exx codes (more than one -Exx
> variant) and some do assign just 0 like here.

What do you have in mind then? They should all assume co->index < 0 is an
invalid console index still, right :)

Regards,

Tony