2021-12-15 08:36:32

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH] HID: potential dereference of null pointer

The return value of devm_kzalloc() needs to be checked.
To avoid hdev->dev->driver_data to be null in case of the failure of
alloc.

Fixes: 14c9c014babe ("HID: add vivaldi HID driver")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/hid/hid-vivaldi.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/hid/hid-vivaldi.c b/drivers/hid/hid-vivaldi.c
index cd7ada48b1d9..72957a9f7117 100644
--- a/drivers/hid/hid-vivaldi.c
+++ b/drivers/hid/hid-vivaldi.c
@@ -57,6 +57,9 @@ static int vivaldi_probe(struct hid_device *hdev,
int ret;

drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL);
+ if (!drvdata)
+ return -ENOMEM;
+
hid_set_drvdata(hdev, drvdata);

ret = hid_parse(hdev);
--
2.25.1



2021-12-20 14:11:07

by Benjamin Tissoires

[permalink] [raw]
Subject: Re: [PATCH] HID: potential dereference of null pointer

On Wed, Dec 15, 2021 at 9:36 AM Jiasheng Jiang <[email protected]> wrote:
>
> The return value of devm_kzalloc() needs to be checked.
> To avoid hdev->dev->driver_data to be null in case of the failure of
> alloc.
>
> Fixes: 14c9c014babe ("HID: add vivaldi HID driver")
> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---

Thanks for the fix. I have now pushed it to hid.git, branch
for-5.16/upstream-fixes

Cheers,
Benjamin

> drivers/hid/hid-vivaldi.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/hid/hid-vivaldi.c b/drivers/hid/hid-vivaldi.c
> index cd7ada48b1d9..72957a9f7117 100644
> --- a/drivers/hid/hid-vivaldi.c
> +++ b/drivers/hid/hid-vivaldi.c
> @@ -57,6 +57,9 @@ static int vivaldi_probe(struct hid_device *hdev,
> int ret;
>
> drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL);
> + if (!drvdata)
> + return -ENOMEM;
> +
> hid_set_drvdata(hdev, drvdata);
>
> ret = hid_parse(hdev);
> --
> 2.25.1
>