Message ID | 7bd165e82ed3675d4ddee343ab373031e995a126.1686412569.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | Accepted |
Commit | f3710f5e9e1a68da53202cffba73f4b604f05b15 |
Headers | show |
Series | [v2,1/3] tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error | expand |
Hi Christophe, On Sat, Jun 10, 2023 at 05:59:27PM +0200, Christophe JAILLET wrote: > Use abs() instead of hand-writing it. > > Suggested-by: Walter Harms <wharms@bfs.de> > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Andi Shyti <andi.shyti@kernel.org> Andi
On 10. 06. 23, 17:59, Christophe JAILLET wrote: > Use abs() instead of hand-writing it. > > Suggested-by: Walter Harms <wharms@bfs.de> > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > v2: new patch > --- > drivers/tty/serial/samsung_tty.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c > index 0b37019820b4..b29e9dfd81a6 100644 > --- a/drivers/tty/serial/samsung_tty.c > +++ b/drivers/tty/serial/samsung_tty.c > @@ -24,6 +24,7 @@ > #include <linux/dmaengine.h> > #include <linux/dma-mapping.h> > #include <linux/slab.h> > +#include <linux/math.h> > #include <linux/module.h> > #include <linux/ioport.h> > #include <linux/io.h> > @@ -1485,9 +1486,7 @@ static unsigned int s3c24xx_serial_getclk(struct s3c24xx_uart_port *ourport, > } > quot--; > > - calc_deviation = req_baud - baud; > - if (calc_deviation < 0) > - calc_deviation = -calc_deviation; > + calc_deviation = abs(req_baud - baud); Does this work provided req_baud and baud are unsigned? thanks,
On 12. 06. 23, 7:13, Jiri Slaby wrote: > On 10. 06. 23, 17:59, Christophe JAILLET wrote: >> Use abs() instead of hand-writing it. >> >> Suggested-by: Walter Harms <wharms@bfs.de> >> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> >> --- >> v2: new patch >> --- >> drivers/tty/serial/samsung_tty.c | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/tty/serial/samsung_tty.c >> b/drivers/tty/serial/samsung_tty.c >> index 0b37019820b4..b29e9dfd81a6 100644 >> --- a/drivers/tty/serial/samsung_tty.c >> +++ b/drivers/tty/serial/samsung_tty.c >> @@ -24,6 +24,7 @@ >> #include <linux/dmaengine.h> >> #include <linux/dma-mapping.h> >> #include <linux/slab.h> >> +#include <linux/math.h> >> #include <linux/module.h> >> #include <linux/ioport.h> >> #include <linux/io.h> >> @@ -1485,9 +1486,7 @@ static unsigned int s3c24xx_serial_getclk(struct >> s3c24xx_uart_port *ourport, >> } >> quot--; >> - calc_deviation = req_baud - baud; >> - if (calc_deviation < 0) >> - calc_deviation = -calc_deviation; >> + calc_deviation = abs(req_baud - baud); > > Does this work provided req_baud and baud are unsigned? Oh, yes, it does, _hopefully_. A bit unexpectedly for me, but: * abs - return absolute value of an argument * @x: the value. If it is unsigned type, it is converted to signed type first. So: Reviewed-by: Jiri Slaby <jirislaby@kernel.org> It would help noting this in the commit log. > thanks,-- js suse labs
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index 0b37019820b4..b29e9dfd81a6 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -24,6 +24,7 @@ #include <linux/dmaengine.h> #include <linux/dma-mapping.h> #include <linux/slab.h> +#include <linux/math.h> #include <linux/module.h> #include <linux/ioport.h> #include <linux/io.h> @@ -1485,9 +1486,7 @@ static unsigned int s3c24xx_serial_getclk(struct s3c24xx_uart_port *ourport, } quot--; - calc_deviation = req_baud - baud; - if (calc_deviation < 0) - calc_deviation = -calc_deviation; + calc_deviation = abs(req_baud - baud); if (calc_deviation < deviation) { /*
Use abs() instead of hand-writing it. Suggested-by: Walter Harms <wharms@bfs.de> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- v2: new patch --- drivers/tty/serial/samsung_tty.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)