Skip to contentSkip to conversation

extcon: realtek: Remove const from type_c_cfg allocation type

PATCH New Kees Cook 1 participant 1 message Sep 17 External connector subsystem (extcon)

lore
Share & tools
lore

Kees Cook

author
#0 lore raw

PATCH 1/1 extcon: realtek: Remove const from type_c_cfg allocation type

From: Kees Cook <[email protected]>

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

---
Cc: MyungJoo Ham <[email protected]>
Cc: Chanwoo Choi <[email protected]>

---
 drivers/extcon/extcon-rtk-type-c.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/extcon/extcon-rtk-type-c.c +2 -1
index 82b60b927e41..da0b3fd3676e 100644
@@ -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;
 
Signature · 1 line
2.34.1