diff mbox series

Input: MT - Return directly after a failed kzalloc() in input_mt_init_slots()

Message ID 5088a905-4f29-41d3-a96e-5b66aad551f1@web.de (mailing list archive)
State New
Headers show
Series Input: MT - Return directly after a failed kzalloc() in input_mt_init_slots() | expand

Commit Message

Markus Elfring Dec. 26, 2023, 7:43 p.m. UTC
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Tue, 26 Dec 2023 20:36:09 +0100

The kfree() function was called in one case by
the input_mt_init_slots() function during error handling
even if the passed variable contained a null pointer.
This issue was detected by using the Coccinelle software.

Thus return directly after a call of the function “kzalloc” failed
at the beginning.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/input/input-mt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
2.43.0

Comments

Dmitry Torokhov Dec. 29, 2023, 7:43 a.m. UTC | #1
On Tue, Dec 26, 2023 at 08:43:37PM +0100, Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Tue, 26 Dec 2023 20:36:09 +0100
> 
> The kfree() function was called in one case by
> the input_mt_init_slots() function during error handling
> even if the passed variable contained a null pointer.
> This issue was detected by using the Coccinelle software.
> 
> Thus return directly after a call of the function “kzalloc” failed
> at the beginning.

This is not needed. The same arguments as on the patch to
usbtouchscreen.c.

Thanks.
Markus Elfring Dec. 29, 2023, 9 a.m. UTC | #2
>> Thus return directly after a call of the function “kzalloc” failed
>> at the beginning.
>
> This is not needed. The same arguments as on the patch to
> usbtouchscreen.c.

I suggest to avoid redundant data processing a bit more.

Regards,
Markus
diff mbox series

Patch

diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
index 14b53dac1253..24064447d600 100644
--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -49,7 +49,7 @@  int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,

 	mt = kzalloc(struct_size(mt, slots, num_slots), GFP_KERNEL);
 	if (!mt)
-		goto err_mem;
+		return -ENOMEM;

 	mt->num_slots = num_slots;
 	mt->flags = flags;