drivers/tty/serial/8250/8250_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Let's not allow negative numbers for console index.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
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;
/*
--
2.42.0
On Wed, Oct 04, 2023 at 11:55:10AM +0300, Tony Lindgren wrote: > Let's not allow negative numbers for console index. ... > - if (co->index >= UART_NR) > + if (co->index < 0 || co->index >= UART_NR) > co->index = 0; in_range() ? -- With Best Regards, Andy Shevchenko
On Wed, 4 Oct 2023, Tony Lindgren wrote: > Let's not allow negative numbers for console index. > > Signed-off-by: Tony Lindgren <tony@atomide.com> > --- > 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? -- i.
* Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> [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@atomide.com> > > --- > > 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. Regards, Tony
On Wed, 4 Oct 2023, Tony Lindgren wrote: > * Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> [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@atomide.com> > > > --- > > > 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. -- i.
* Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> [231004 09:13]: > On Wed, 4 Oct 2023, Tony Lindgren wrote: > > > * Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> [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@atomide.com> > > > > --- > > > > 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
© 2016 - 2025 Red Hat, Inc.