[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250426062125.work.209-kees@kernel.org>
Date: Fri, 25 Apr 2025 23:21:26 -0700
From: Kees Cook <kees@...nel.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Kees Cook <kees@...nel.org>,
Wei Chen <harperchen1110@...il.com>,
Linyu Yuan <quic_linyyuan@...cinc.com>,
linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-hardening@...r.kernel.org
Subject: [PATCH] usb: gadget: g_ffs: Adjust f_ffs[0] allocation type
In preparation for making the kmalloc family of allocators type aware,
we need to make sure that the returned type from the allocation matches
the type of the variable being assigned. (Before, the allocator would
always return "void *", which can be implicitly cast to any pointer type.)
The assigned type is "struct usb_function **" but the returned type
will be "struct usb_function ***". These are the same size allocation
(pointer size), but different types. Adjust the allocation type to match
the assignment.
Signed-off-by: Kees Cook <kees@...nel.org>
---
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Wei Chen <harperchen1110@...il.com>
Cc: Linyu Yuan <quic_linyyuan@...cinc.com>
Cc: <linux-usb@...r.kernel.org>
---
drivers/usb/gadget/legacy/g_ffs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/legacy/g_ffs.c b/drivers/usb/gadget/legacy/g_ffs.c
index a9544fea8723..578556422ea3 100644
--- a/drivers/usb/gadget/legacy/g_ffs.c
+++ b/drivers/usb/gadget/legacy/g_ffs.c
@@ -188,7 +188,7 @@ static int __init gfs_init(void)
/*
* Allocate in one chunk for easier maintenance
*/
- f_ffs[0] = kcalloc(func_num * N_CONF, sizeof(*f_ffs), GFP_KERNEL);
+ f_ffs[0] = kcalloc(func_num * N_CONF, sizeof(*f_ffs[0]), GFP_KERNEL);
if (!f_ffs[0]) {
ret = -ENOMEM;
goto no_func;
--
2.34.1
Powered by blists - more mailing lists