summaryrefslogtreecommitdiff
path: root/drivers/cdrom
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2026-02-20 23:49:23 -0800
committerKees Cook <kees@kernel.org>2026-02-21 01:02:28 -0800
commit69050f8d6d075dc01af7a5f2f550a8067510366f (patch)
treebb265f94d9dfa7876c06a5d9f88673d496a15341 /drivers/cdrom
parentd39a1d7486d98668dd34aaa6732aad7977c45f5a (diff)
downloadlinux-69050f8d6d075dc01af7a5f2f550a8067510366f.tar.gz
linux-69050f8d6d075dc01af7a5f2f550a8067510366f.tar.bz2
linux-69050f8d6d075dc01af7a5f2f550a8067510366f.zip
treewide: Replace kmalloc with kmalloc_obj for non-scalar types
This is the result of running the Coccinelle script from scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to avoid scalar types (which need careful case-by-case checking), and instead replace kmalloc-family calls that allocate struct or union object instances: Single allocations: kmalloc(sizeof(TYPE), ...) are replaced with: kmalloc_obj(TYPE, ...) Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...) are replaced with: kmalloc_objs(TYPE, COUNT, ...) Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...) are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...) (where TYPE may also be *VAR) The resulting allocations no longer return "void *", instead returning "TYPE *". Signed-off-by: Kees Cook <kees@kernel.org>
Diffstat (limited to 'drivers/cdrom')
-rw-r--r--drivers/cdrom/cdrom.c8
-rw-r--r--drivers/cdrom/gdrom.c14
2 files changed, 11 insertions, 11 deletions
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index 31ba1f8c1f78..fe0f633bc655 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -1318,7 +1318,7 @@ static int cdrom_slot_status(struct cdrom_device_info *cdi, int slot)
if (cdi->sanyo_slot)
return CDS_NO_INFO;
- info = kmalloc(sizeof(*info), GFP_KERNEL);
+ info = kmalloc_obj(*info, GFP_KERNEL);
if (!info)
return -ENOMEM;
@@ -1347,7 +1347,7 @@ int cdrom_number_of_slots(struct cdrom_device_info *cdi)
/* cdrom_read_mech_status requires a valid value for capacity: */
cdi->capacity = 0;
- info = kmalloc(sizeof(*info), GFP_KERNEL);
+ info = kmalloc_obj(*info, GFP_KERNEL);
if (!info)
return -ENOMEM;
@@ -1406,7 +1406,7 @@ static int cdrom_select_disc(struct cdrom_device_info *cdi, int slot)
return cdrom_load_unload(cdi, -1);
}
- info = kmalloc(sizeof(*info), GFP_KERNEL);
+ info = kmalloc_obj(*info, GFP_KERNEL);
if (!info)
return -ENOMEM;
@@ -2311,7 +2311,7 @@ static int cdrom_ioctl_media_changed(struct cdrom_device_info *cdi,
/* Prevent arg from speculatively bypassing the length check */
arg = array_index_nospec(arg, cdi->capacity);
- info = kmalloc(sizeof(*info), GFP_KERNEL);
+ info = kmalloc_obj(*info, GFP_KERNEL);
if (!info)
return -ENOMEM;
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c
index 85aceab5eac6..1a59241cbd23 100644
--- a/drivers/cdrom/gdrom.c
+++ b/drivers/cdrom/gdrom.c
@@ -227,7 +227,7 @@ static char gdrom_execute_diagnostic(void)
static int gdrom_preparedisk_cmd(void)
{
struct packet_command *spin_command;
- spin_command = kzalloc(sizeof(struct packet_command), GFP_KERNEL);
+ spin_command = kzalloc_obj(struct packet_command, GFP_KERNEL);
if (!spin_command)
return -ENOMEM;
spin_command->cmd[0] = 0x70;
@@ -261,7 +261,7 @@ static int gdrom_readtoc_cmd(struct gdromtoc *toc, int session)
struct packet_command *toc_command;
int err = 0;
- toc_command = kzalloc(sizeof(struct packet_command), GFP_KERNEL);
+ toc_command = kzalloc_obj(struct packet_command, GFP_KERNEL);
if (!toc_command)
return -ENOMEM;
tocsize = sizeof(struct gdromtoc);
@@ -415,7 +415,7 @@ static int gdrom_getsense(short *bufstring)
int sense_key;
int err = -EIO;
- sense_command = kzalloc(sizeof(struct packet_command), GFP_KERNEL);
+ sense_command = kzalloc_obj(struct packet_command, GFP_KERNEL);
if (!sense_command)
return -ENOMEM;
sense_command->cmd[0] = 0x13;
@@ -574,7 +574,7 @@ static blk_status_t gdrom_readdisk_dma(struct request *req)
struct packet_command *read_command;
unsigned long timeout;
- read_command = kzalloc(sizeof(struct packet_command), GFP_KERNEL);
+ read_command = kzalloc_obj(struct packet_command, GFP_KERNEL);
if (!read_command)
return BLK_STS_RESOURCE;
@@ -656,7 +656,7 @@ static int gdrom_outputversion(void)
int err = -ENOMEM;
/* query device ID */
- id = kzalloc(sizeof(struct gdrom_id), GFP_KERNEL);
+ id = kzalloc_obj(struct gdrom_id, GFP_KERNEL);
if (!id)
return err;
gdrom_identifydevice(id);
@@ -769,7 +769,7 @@ static int probe_gdrom(struct platform_device *devptr)
pr_info("Registered with major number %d\n",
gdrom_major);
/* Specify basic properties of drive */
- gd.cd_info = kzalloc(sizeof(struct cdrom_device_info), GFP_KERNEL);
+ gd.cd_info = kzalloc_obj(struct cdrom_device_info, GFP_KERNEL);
if (!gd.cd_info) {
err = -ENOMEM;
goto probe_fail_no_mem;
@@ -803,7 +803,7 @@ static int probe_gdrom(struct platform_device *devptr)
if (err)
goto probe_fail_free_irqs;
- gd.toc = kzalloc(sizeof(struct gdromtoc), GFP_KERNEL);
+ gd.toc = kzalloc_obj(struct gdromtoc, GFP_KERNEL);
if (!gd.toc) {
err = -ENOMEM;
goto probe_fail_free_irqs;