2023-12-26 19:44:07

by Markus Elfring

[permalink] [raw]
Subject: [PATCH] Input: MT - Return directly after a failed kzalloc() in input_mt_init_slots()

From: Markus Elfring <[email protected]>
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 <[email protected]>
---
drivers/input/input-mt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

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;
--
2.43.0



2023-12-29 07:43:18

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: MT - Return directly after a failed kzalloc() in input_mt_init_slots()

On Tue, Dec 26, 2023 at 08:43:37PM +0100, Markus Elfring wrote:
> From: Markus Elfring <[email protected]>
> 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.

--
Dmitry

2023-12-29 09:00:55

by Markus Elfring

[permalink] [raw]
Subject: Re: Input: MT - Return directly after a failed kzalloc() in input_mt_init_slots()

>> 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