On Wed, Jan 10, 2024 at 4:23 AM Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> wrote: > > ``max_count`` negative values are not used. Since ``port->fifosize`` > is an unsigned int, make ``max_count`` the same. > > Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> > --- > drivers/tty/serial/samsung_tty.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c > index 90c49197efc7..dbbe6b8e3ceb 100644 > --- a/drivers/tty/serial/samsung_tty.c > +++ b/drivers/tty/serial/samsung_tty.c > @@ -760,8 +760,8 @@ static irqreturn_t s3c24xx_serial_rx_chars_dma(void *dev_id) > static void s3c24xx_serial_rx_drain_fifo(struct s3c24xx_uart_port *ourport) > { > struct uart_port *port = &ourport->port; > + unsigned int max_count = port->fifosize; What if port->fifosize is 0? Then this code below: while (max_count-- > 0) { would cause int overflow, if max_count is unsigned? > unsigned int fifocnt = 0; > - int max_count = port->fifosize; > u32 ufcon, ufstat, uerstat; > u8 ch, flag; > > -- > 2.43.0.472.g3155946c3a-goog > >