UPSTREAM: HID: core: zero-initialize the report buffer lineage-22.0 lineage-22.1 lineage-22.2
authorJiri Kosina <jkosina@suse.com>
Tue, 29 Oct 2024 14:44:35 +0000 (15:44 +0100)
committerNolen Johnson <johnsonnolen@gmail.com>
Fri, 7 Mar 2025 05:33:17 +0000 (00:33 -0500)
[ Upstream commit 177f25d1292c7e16e1199b39c85480f7f8815552 ]

Since the report buffer is used by all kinds of drivers in various ways, let's
zero-initialize it during allocation to make sure that it can't be ever used
to leak kernel memory via specially-crafted report.

Bug: 380395346
Fixes: 27ce405039bf ("HID: fix data access in implement()")
Reported-by: Benoît Sevens <bsevens@google.com>
Acked-by: Benjamin Tissoires <bentiss@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 9d9f5c75c0c7f31766ec27d90f7a6ac673193191)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I31f64f2745347137bbc415eb35b7fab5761867f3

drivers/hid/hid-core.c

index 70af0f25969e4b1784fdf106db9e801ebbd84841..77c7b084a9d87e84d9ae5ad21634e3c02efd2b38 100644 (file)
@@ -1403,7 +1403,7 @@ u8 *hid_alloc_report_buf(struct hid_report *report, gfp_t flags)
 
        u32 len = hid_report_len(report) + 7;
 
-       return kmalloc(len, flags);
+       return kzalloc(len, flags);
 }
 EXPORT_SYMBOL_GPL(hid_alloc_report_buf);