Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

pds_core: Allocate pdsc_viftype_defaults copy with ARRAY_SIZE()

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.)

This is allocating a copy of pdsc_viftype_defaults, which is an array of
struct pdsc_viftype. To correctly return "struct pdsc_viftype *" in the
future, adjust the allocation to allocating ARRAY_SIZE-many entries. The
resulting allocation size is the same.

Signed-off-by: Kees Cook <kees@kernel.org>
Reviewed-by: Shannon Nelson <shannon.nelson@amd.com>
Link: https://patch.msgid.link/20250426060712.work.575-kees@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Kees Cook and committed by
Jakub Kicinski
2eea791a fca6170f

+2 -1
+2 -1
drivers/net/ethernet/amd/pds_core/core.c
··· 414 414 { 415 415 enum pds_core_vif_types vt; 416 416 417 - pdsc->viftype_status = kzalloc(sizeof(pdsc_viftype_defaults), 417 + pdsc->viftype_status = kcalloc(ARRAY_SIZE(pdsc_viftype_defaults), 418 + sizeof(*pdsc->viftype_status), 418 419 GFP_KERNEL); 419 420 if (!pdsc->viftype_status) 420 421 return -ENOMEM;