Message ID | 9365c845-baa1-44d1-add9-ec8ca4d365eb@web.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Input: usbtouchscreen - Return directly after a failed kmalloc() in nexio_init() | expand |
On Tue, Dec 26, 2023 at 09:08:12PM +0100, Markus Elfring wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > Date: Tue, 26 Dec 2023 21:00:25 +0100 > > The kfree() function was called in one case by > the nexio_init() function during error handling > even if the passed variable contained a null pointer. Which is perfectly valid thing to do, like free(), kfree() accepts NULL argument. > This issue was detected by using the Coccinelle software. This tells me precisely nothing. > > Thus return directly after a call of the function “kmalloc” failed > at the beginning. This is simply a matter of preference, the original author preferred that style, I see no objective reason to change it. > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> > --- > drivers/input/touchscreen/usbtouchscreen.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c > index 60354ebc7242..1873c7918a78 100644 > --- a/drivers/input/touchscreen/usbtouchscreen.c > +++ b/drivers/input/touchscreen/usbtouchscreen.c > @@ -977,7 +977,7 @@ static int nexio_init(struct usbtouch_usb *usbtouch) > > buf = kmalloc(NEXIO_BUFSIZE, GFP_NOIO); > if (!buf) > - goto out_buf; > + return ret; > > /* two empty reads */ > for (i = 0; i < 2; i++) { > -- > 2.43.0 > Thanks.
>> The kfree() function was called in one case by >> the nexio_init() function during error handling >> even if the passed variable contained a null pointer. > > Which is perfectly valid thing to do, like free(), kfree() accepts NULL argument. I find such a function call with this special parameter not so useful. >> Thus return directly after a call of the function “kmalloc” failed >> at the beginning. > > This is simply a matter of preference, the original author preferred > that style, I see no objective reason to change it. Would you ever like to avoid redundant data processing a bit more? Regards, Markus
diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c index 60354ebc7242..1873c7918a78 100644 --- a/drivers/input/touchscreen/usbtouchscreen.c +++ b/drivers/input/touchscreen/usbtouchscreen.c @@ -977,7 +977,7 @@ static int nexio_init(struct usbtouch_usb *usbtouch) buf = kmalloc(NEXIO_BUFSIZE, GFP_NOIO); if (!buf) - goto out_buf; + return ret; /* two empty reads */ for (i = 0; i < 2; i++) {