diff options
| author | Kees Cook <kees@kernel.org> | 2026-02-21 23:46:04 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-02-22 08:26:33 -0800 |
| commit | 189f164e573e18d9f8876dbd3ad8fcbe11f93037 (patch) | |
| tree | 733382723a15ea29b7c9f3dde3bcb281f0b3c287 /drivers/staging | |
| parent | 32a92f8c89326985e05dce8b22d3f0aa07a3e1bd (diff) | |
| download | linux-next-189f164e573e18d9f8876dbd3ad8fcbe11f93037.tar.gz linux-next-189f164e573e18d9f8876dbd3ad8fcbe11f93037.zip | |
Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses
Conversion performed via this Coccinelle script:
// SPDX-License-Identifier: GPL-2.0-only
// Options: --include-headers-for-types --all-includes --include-headers --keep-comments
virtual patch
@gfp depends on patch && !(file in "tools") && !(file in "samples")@
identifier ALLOC = {kmalloc_obj,kmalloc_objs,kmalloc_flex,
kzalloc_obj,kzalloc_objs,kzalloc_flex,
kvmalloc_obj,kvmalloc_objs,kvmalloc_flex,
kvzalloc_obj,kvzalloc_objs,kvzalloc_flex};
@@
ALLOC(...
- , GFP_KERNEL
)
$ make coccicheck MODE=patch COCCI=gfp.cocci
Build and boot tested x86_64 with Fedora 42's GCC and Clang:
Linux version 6.19.0+ (user@host) (gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7), GNU ld version 2.44-12.fc42) #1 SMP PREEMPT_DYNAMIC 1970-01-01
Linux version 6.19.0+ (user@host) (clang version 20.1.8 (Fedora 20.1.8-4.fc42), LLD 20.1.8) #1 SMP PREEMPT_DYNAMIC 1970-01-01
Signed-off-by: Kees Cook <kees@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/staging')
| -rw-r--r-- | drivers/staging/greybus/power_supply.c | 4 | ||||
| -rw-r--r-- | drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c | 2 | ||||
| -rw-r--r-- | drivers/staging/media/atomisp/pci/sh_css.c | 20 |
3 files changed, 10 insertions, 16 deletions
diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c index 5d180b0f8e4c..33b7a63979d6 100644 --- a/drivers/staging/greybus/power_supply.c +++ b/drivers/staging/greybus/power_supply.c @@ -552,7 +552,7 @@ static int gb_power_supply_prop_descriptors_get(struct gb_power_supply *gbpsy) } gbpsy->props_raw = kzalloc_objs(*gbpsy->props_raw, - gbpsy->properties_count, GFP_KERNEL); + gbpsy->properties_count); if (!gbpsy->props_raw) { ret = -ENOMEM; goto out_put_operation; @@ -942,7 +942,7 @@ static int gb_power_supplies_setup(struct gb_power_supplies *supplies) goto out; supplies->supply = kzalloc_objs(struct gb_power_supply, - supplies->supplies_count, GFP_KERNEL); + supplies->supplies_count); if (!supplies->supply) { ret = -ENOMEM; diff --git a/drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c b/drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c index c934da53f4a3..ba61cc28fac1 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c +++ b/drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c @@ -306,7 +306,7 @@ static int atomisp_csi2_add_gpio_mappings(struct acpi_device *adev) /* Max num GPIOs we've seen plus a terminator */ int3472 = kzalloc_flex(*int3472, gpios.table, - INT3472_MAX_SENSOR_GPIOS + 1, GFP_KERNEL); + INT3472_MAX_SENSOR_GPIOS + 1); if (!int3472) return -ENOMEM; diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/media/atomisp/pci/sh_css.c index ee7ea04c4fc5..6cda5925fa45 100644 --- a/drivers/staging/media/atomisp/pci/sh_css.c +++ b/drivers/staging/media/atomisp/pci/sh_css.c @@ -4531,16 +4531,14 @@ static int load_video_binaries(struct ia_css_pipe *pipe) return err; mycs->num_yuv_scaler = cas_scaler_descr.num_stage; mycs->yuv_scaler_binary = kzalloc_objs(struct ia_css_binary, - cas_scaler_descr.num_stage, - GFP_KERNEL); + cas_scaler_descr.num_stage); if (!mycs->yuv_scaler_binary) { mycs->num_yuv_scaler = 0; err = -ENOMEM; return err; } mycs->is_output_stage = kzalloc_objs(bool, - cas_scaler_descr.num_stage, - GFP_KERNEL); + cas_scaler_descr.num_stage); if (!mycs->is_output_stage) { err = -ENOMEM; return err; @@ -5112,16 +5110,14 @@ static int load_primary_binaries( } mycs->num_yuv_scaler = cas_scaler_descr.num_stage; mycs->yuv_scaler_binary = kzalloc_objs(struct ia_css_binary, - cas_scaler_descr.num_stage, - GFP_KERNEL); + cas_scaler_descr.num_stage); if (!mycs->yuv_scaler_binary) { err = -ENOMEM; IA_CSS_LEAVE_ERR_PRIVATE(err); return err; } mycs->is_output_stage = kzalloc_objs(bool, - cas_scaler_descr.num_stage, - GFP_KERNEL); + cas_scaler_descr.num_stage); if (!mycs->is_output_stage) { err = -ENOMEM; IA_CSS_LEAVE_ERR_PRIVATE(err); @@ -5973,7 +5969,7 @@ ia_css_pipe_create_cas_scaler_desc(struct ia_css_pipe *pipe, descr->num_stage = num_stages; descr->in_info = kmalloc_objs(struct ia_css_frame_info, - descr->num_stage, GFP_KERNEL); + descr->num_stage); if (!descr->in_info) { err = -ENOMEM; goto ERR; @@ -6145,15 +6141,13 @@ load_yuvpp_binaries(struct ia_css_pipe *pipe) mycs->num_output = cas_scaler_descr.num_output_stage; mycs->num_yuv_scaler = cas_scaler_descr.num_stage; mycs->yuv_scaler_binary = kzalloc_objs(struct ia_css_binary, - cas_scaler_descr.num_stage, - GFP_KERNEL); + cas_scaler_descr.num_stage); if (!mycs->yuv_scaler_binary) { err = -ENOMEM; goto ERR; } mycs->is_output_stage = kzalloc_objs(bool, - cas_scaler_descr.num_stage, - GFP_KERNEL); + cas_scaler_descr.num_stage); if (!mycs->is_output_stage) { err = -ENOMEM; goto ERR; |
