extcon: realtek: Remove const from type_c_cfg allocation type

In preparation for making the devm_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 type_c_cfg *", but the converted allocation
type would be "const struct type_c_cfg *", as the size was taken from
the local "type_c_cfg", which points to const as it comes from
of_device_get_match_data(). As there is no general way to remove const
qualifiers, take the size from the assignment target instead. No change
in allocation size results.

Build tested ARCH=x86_64 allmodconfig with GCC 16.2.0:
drivers/extcon/extcon-rtk-type-c.o

Assisted-by: LLM coccinelle
Link: https://patch.msgid.link/20260917211246.i.196-kees@kernel.org
Signed-off-by: Kees Cook <kees+treewide@kernel.org>
This commit is contained in:
Kees Cook 2026-09-17 14:12:47 -07:00 committed by Kees Cook
parent 752ae52dcc
commit ef16259088

View File

@ -1368,7 +1368,8 @@ static int extcon_rtk_type_c_probe(struct platform_device *pdev)
goto err;
}
type_c->type_c_cfg = devm_kzalloc(dev, sizeof(*type_c_cfg), GFP_KERNEL);
type_c->type_c_cfg = devm_kzalloc(dev, sizeof(*type_c->type_c_cfg),
GFP_KERNEL);
if (!type_c->type_c_cfg)
return -ENOMEM;