diff options
| author | Kees Cook <kees@kernel.org> | 2026-02-20 23:49:23 -0800 |
|---|---|---|
| committer | Kees Cook <kees@kernel.org> | 2026-02-21 01:02:28 -0800 |
| commit | 69050f8d6d075dc01af7a5f2f550a8067510366f (patch) | |
| tree | bb265f94d9dfa7876c06a5d9f88673d496a15341 /drivers/s390/cio | |
| parent | d39a1d7486d98668dd34aaa6732aad7977c45f5a (diff) | |
| download | linux-next-69050f8d6d075dc01af7a5f2f550a8067510366f.tar.gz linux-next-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/s390/cio')
| -rw-r--r-- | drivers/s390/cio/airq.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/ccwgroup.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/chp.c | 4 | ||||
| -rw-r--r-- | drivers/s390/cio/chsc_sch.c | 20 | ||||
| -rw-r--r-- | drivers/s390/cio/cmf.c | 8 | ||||
| -rw-r--r-- | drivers/s390/cio/css.c | 8 | ||||
| -rw-r--r-- | drivers/s390/cio/device.c | 10 | ||||
| -rw-r--r-- | drivers/s390/cio/eadm_sch.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/qdio_debug.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/qdio_main.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/qdio_thinint.c | 4 | ||||
| -rw-r--r-- | drivers/s390/cio/scm.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/vfio_ccw_cp.c | 12 | ||||
| -rw-r--r-- | drivers/s390/cio/vfio_ccw_drv.c | 4 | ||||
| -rw-r--r-- | drivers/s390/cio/vfio_ccw_ops.c | 4 |
15 files changed, 43 insertions, 43 deletions
diff --git a/drivers/s390/cio/airq.c b/drivers/s390/cio/airq.c index f5c59abba221..ecccd5f24a4e 100644 --- a/drivers/s390/cio/airq.c +++ b/drivers/s390/cio/airq.c @@ -130,7 +130,7 @@ struct airq_iv *airq_iv_create(unsigned long bits, unsigned long flags, struct airq_iv *iv; unsigned long size; - iv = kzalloc(sizeof(*iv), GFP_KERNEL); + iv = kzalloc_obj(*iv, GFP_KERNEL); if (!iv) goto out; iv->bits = bits; diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c index 185c99c5d4cc..c7d86cab984b 100644 --- a/drivers/s390/cio/ccwgroup.c +++ b/drivers/s390/cio/ccwgroup.c @@ -322,7 +322,7 @@ int ccwgroup_create_dev(struct device *parent, struct ccwgroup_driver *gdrv, if (num_devices < 1) return -EINVAL; - gdev = kzalloc(struct_size(gdev, cdev, num_devices), GFP_KERNEL); + gdev = kzalloc_flex(*gdev, cdev, num_devices, GFP_KERNEL); if (!gdev) return -ENOMEM; diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c index c10e2444507e..de07d03f1ed4 100644 --- a/drivers/s390/cio/chp.c +++ b/drivers/s390/cio/chp.c @@ -530,7 +530,7 @@ int chp_new(struct chp_id chpid) if (chp_is_registered(chpid)) goto out; - chp = kzalloc(sizeof(struct channel_path), GFP_KERNEL); + chp = kzalloc_obj(struct channel_path, GFP_KERNEL); if (!chp) { ret = -ENOMEM; goto out; @@ -593,7 +593,7 @@ struct channel_path_desc_fmt0 *chp_get_chp_desc(struct chp_id chpid) chp = chpid_to_chp(chpid); if (!chp) return NULL; - desc = kmalloc(sizeof(*desc), GFP_KERNEL); + desc = kmalloc_obj(*desc, GFP_KERNEL); if (!desc) return NULL; diff --git a/drivers/s390/cio/chsc_sch.c b/drivers/s390/cio/chsc_sch.c index ce992b2107cb..fcbb2906117f 100644 --- a/drivers/s390/cio/chsc_sch.c +++ b/drivers/s390/cio/chsc_sch.c @@ -81,7 +81,7 @@ static int chsc_subchannel_probe(struct subchannel *sch) CHSC_MSG(6, "Detected chsc subchannel 0.%x.%04x\n", sch->schid.ssid, sch->schid.sch_no); sch->isc = CHSC_SCH_ISC; - private = kzalloc(sizeof(*private), GFP_KERNEL); + private = kzalloc_obj(*private, GFP_KERNEL); if (!private) return -ENOMEM; dev_set_drvdata(&sch->dev, private); @@ -295,7 +295,7 @@ static int chsc_ioctl_start(void __user *user_area) chsc_area = (void *)get_zeroed_page(GFP_KERNEL); if (!chsc_area) return -ENOMEM; - request = kzalloc(sizeof(*request), GFP_KERNEL); + request = kzalloc_obj(*request, GFP_KERNEL); if (!request) { ret = -ENOMEM; goto out_free; @@ -335,7 +335,7 @@ static int chsc_ioctl_on_close_set(void __user *user_area) ret = -EBUSY; goto out_unlock; } - on_close_request = kzalloc(sizeof(*on_close_request), GFP_KERNEL); + on_close_request = kzalloc_obj(*on_close_request, GFP_KERNEL); if (!on_close_request) { ret = -ENOMEM; goto out_unlock; @@ -441,7 +441,7 @@ static int chsc_ioctl_info_channel_path(void __user *user_cd) scpcd_area = (void *)get_zeroed_page(GFP_KERNEL); if (!scpcd_area) return -ENOMEM; - cd = kzalloc(sizeof(*cd), GFP_KERNEL); + cd = kzalloc_obj(*cd, GFP_KERNEL); if (!cd) { ret = -ENOMEM; goto out_free; @@ -503,7 +503,7 @@ static int chsc_ioctl_info_cu(void __user *user_cd) scucd_area = (void *)get_zeroed_page(GFP_KERNEL); if (!scucd_area) return -ENOMEM; - cd = kzalloc(sizeof(*cd), GFP_KERNEL); + cd = kzalloc_obj(*cd, GFP_KERNEL); if (!cd) { ret = -ENOMEM; goto out_free; @@ -566,7 +566,7 @@ static int chsc_ioctl_info_sch_cu(void __user *user_cud) sscud_area = (void *)get_zeroed_page(GFP_KERNEL); if (!sscud_area) return -ENOMEM; - cud = kzalloc(sizeof(*cud), GFP_KERNEL); + cud = kzalloc_obj(*cud, GFP_KERNEL); if (!cud) { ret = -ENOMEM; goto out_free; @@ -628,7 +628,7 @@ static int chsc_ioctl_conf_info(void __user *user_ci) sci_area = (void *)get_zeroed_page(GFP_KERNEL); if (!sci_area) return -ENOMEM; - ci = kzalloc(sizeof(*ci), GFP_KERNEL); + ci = kzalloc_obj(*ci, GFP_KERNEL); if (!ci) { ret = -ENOMEM; goto out_free; @@ -699,7 +699,7 @@ static int chsc_ioctl_conf_comp_list(void __user *user_ccl) sccl_area = (void *)get_zeroed_page(GFP_KERNEL); if (!sccl_area) return -ENOMEM; - ccl = kzalloc(sizeof(*ccl), GFP_KERNEL); + ccl = kzalloc_obj(*ccl, GFP_KERNEL); if (!ccl) { ret = -ENOMEM; goto out_free; @@ -755,7 +755,7 @@ static int chsc_ioctl_chpd(void __user *user_chpd) struct chsc_cpd_info *chpd; int ret; - chpd = kzalloc(sizeof(*chpd), GFP_KERNEL); + chpd = kzalloc_obj(*chpd, GFP_KERNEL); scpd_area = (void *)get_zeroed_page(GFP_KERNEL); if (!scpd_area || !chpd) { ret = -ENOMEM; @@ -799,7 +799,7 @@ static int chsc_ioctl_dcal(void __user *user_dcal) sdcal_area = (void *)get_zeroed_page(GFP_KERNEL); if (!sdcal_area) return -ENOMEM; - dcal = kzalloc(sizeof(*dcal), GFP_KERNEL); + dcal = kzalloc_obj(*dcal, GFP_KERNEL); if (!dcal) { ret = -ENOMEM; goto out_free; diff --git a/drivers/s390/cio/cmf.c b/drivers/s390/cio/cmf.c index 7d035e4937ce..cbc0efe0d870 100644 --- a/drivers/s390/cio/cmf.c +++ b/drivers/s390/cio/cmf.c @@ -483,11 +483,11 @@ static int alloc_cmb(struct ccw_device *cdev) struct cmb_data *cmb_data; /* Allocate private cmb_data. */ - cmb_data = kzalloc(sizeof(struct cmb_data), GFP_KERNEL); + cmb_data = kzalloc_obj(struct cmb_data, GFP_KERNEL); if (!cmb_data) return -ENOMEM; - cmb_data->last_block = kzalloc(sizeof(struct cmb), GFP_KERNEL); + cmb_data->last_block = kzalloc_obj(struct cmb, GFP_KERNEL); if (!cmb_data->last_block) { kfree(cmb_data); return -ENOMEM; @@ -766,11 +766,11 @@ static int alloc_cmbe(struct ccw_device *cdev) if (!cmbe) return ret; - cmb_data = kzalloc(sizeof(*cmb_data), GFP_KERNEL); + cmb_data = kzalloc_obj(*cmb_data, GFP_KERNEL); if (!cmb_data) goto out_free; - cmb_data->last_block = kzalloc(sizeof(struct cmbe), GFP_KERNEL); + cmb_data->last_block = kzalloc_obj(struct cmbe, GFP_KERNEL); if (!cmb_data->last_block) goto out_free; diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index ac24e019020e..b6f943d6e30c 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -203,7 +203,7 @@ struct subchannel *css_alloc_subchannel(struct subchannel_id schid, if (ret < 0) return ERR_PTR(ret); - sch = kzalloc(sizeof(*sch), GFP_KERNEL | GFP_DMA); + sch = kzalloc_obj(*sch, GFP_KERNEL | GFP_DMA); if (!sch) return ERR_PTR(-ENOMEM); @@ -971,7 +971,7 @@ static int __init setup_css(int nr) struct channel_subsystem *css; int ret; - css = kzalloc(sizeof(*css), GFP_KERNEL); + css = kzalloc_obj(*css, GFP_KERNEL); if (!css) return -ENOMEM; @@ -1005,8 +1005,8 @@ static int __init setup_css(int nr) goto out_err; } - css->pseudo_subchannel = kzalloc(sizeof(*css->pseudo_subchannel), - GFP_KERNEL); + css->pseudo_subchannel = kzalloc_obj(*css->pseudo_subchannel, + GFP_KERNEL); if (!css->pseudo_subchannel) { device_unregister(&css->device); ret = -ENOMEM; diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 602f36102c7c..4e6efdcf5617 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -686,13 +686,13 @@ static struct ccw_device * io_subchannel_allocate_dev(struct subchannel *sch) struct gen_pool *dma_pool; int ret; - cdev = kzalloc(sizeof(*cdev), GFP_KERNEL); + cdev = kzalloc_obj(*cdev, GFP_KERNEL); if (!cdev) { ret = -ENOMEM; goto err_cdev; } - cdev->private = kzalloc(sizeof(struct ccw_device_private), - GFP_KERNEL | GFP_DMA); + cdev->private = kzalloc_obj(struct ccw_device_private, + GFP_KERNEL | GFP_DMA); if (!cdev->private) { ret = -ENOMEM; goto err_priv; @@ -1060,7 +1060,7 @@ static int io_subchannel_probe(struct subchannel *sch) if (rc) goto out_schedule; /* Allocate I/O subchannel private data. */ - io_priv = kzalloc(sizeof(*io_priv), GFP_KERNEL | GFP_DMA); + io_priv = kzalloc_obj(*io_priv, GFP_KERNEL | GFP_DMA); if (!io_priv) goto out_schedule; @@ -1644,7 +1644,7 @@ struct ccw_device * __init ccw_device_create_console(struct ccw_driver *drv) if (IS_ERR(sch)) return ERR_CAST(sch); - io_priv = kzalloc(sizeof(*io_priv), GFP_KERNEL | GFP_DMA); + io_priv = kzalloc_obj(*io_priv, GFP_KERNEL | GFP_DMA); if (!io_priv) goto err_priv; io_priv->dma_area = dma_alloc_coherent(&sch->dev, diff --git a/drivers/s390/cio/eadm_sch.c b/drivers/s390/cio/eadm_sch.c index d60f7d80863a..7ce374313730 100644 --- a/drivers/s390/cio/eadm_sch.c +++ b/drivers/s390/cio/eadm_sch.c @@ -215,7 +215,7 @@ static int eadm_subchannel_probe(struct subchannel *sch) struct eadm_private *private; int ret; - private = kzalloc(sizeof(*private), GFP_KERNEL | GFP_DMA); + private = kzalloc_obj(*private, GFP_KERNEL | GFP_DMA); if (!private) return -ENOMEM; diff --git a/drivers/s390/cio/qdio_debug.c b/drivers/s390/cio/qdio_debug.c index 4fb900f2d3d9..bbbf89a65445 100644 --- a/drivers/s390/cio/qdio_debug.c +++ b/drivers/s390/cio/qdio_debug.c @@ -81,7 +81,7 @@ int qdio_allocate_dbf(struct qdio_irq *irq_ptr) } debug_set_level(irq_ptr->debug_area, DBF_WARN); DBF_DEV_EVENT(DBF_ERR, irq_ptr, "dbf created"); - new_entry = kzalloc(sizeof(struct qdio_dbf_entry), GFP_KERNEL); + new_entry = kzalloc_obj(struct qdio_dbf_entry, GFP_KERNEL); if (!new_entry) { debug_unregister(irq_ptr->debug_area); return -ENOMEM; diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c index 7dd967165025..7e594a800525 100644 --- a/drivers/s390/cio/qdio_main.c +++ b/drivers/s390/cio/qdio_main.c @@ -965,7 +965,7 @@ int qdio_allocate(struct ccw_device *cdev, unsigned int no_input_qs, if (!irq_ptr) return -ENOMEM; - irq_ptr->ccw = kmalloc(sizeof(*irq_ptr->ccw), GFP_KERNEL | GFP_DMA); + irq_ptr->ccw = kmalloc_obj(*irq_ptr->ccw, GFP_KERNEL | GFP_DMA); if (!irq_ptr->ccw) goto err_ccw; diff --git a/drivers/s390/cio/qdio_thinint.c b/drivers/s390/cio/qdio_thinint.c index f931954910c5..d3e263fedbca 100644 --- a/drivers/s390/cio/qdio_thinint.c +++ b/drivers/s390/cio/qdio_thinint.c @@ -204,8 +204,8 @@ int __init qdio_thinint_init(void) { int rc; - q_indicators = kcalloc(TIQDIO_NR_INDICATORS, sizeof(struct indicator_t), - GFP_KERNEL); + q_indicators = kzalloc_objs(struct indicator_t, TIQDIO_NR_INDICATORS, + GFP_KERNEL); if (!q_indicators) return -ENOMEM; diff --git a/drivers/s390/cio/scm.c b/drivers/s390/cio/scm.c index 9b4da237a0ed..22da5887e0ab 100644 --- a/drivers/s390/cio/scm.c +++ b/drivers/s390/cio/scm.c @@ -207,7 +207,7 @@ static int scm_add(struct chsc_scm_info *scm_info, size_t num) put_device(&scmdev->dev); continue; } - scmdev = kzalloc(sizeof(*scmdev), GFP_KERNEL); + scmdev = kzalloc_obj(*scmdev, GFP_KERNEL); if (!scmdev) return -ENODEV; scmdev_setup(scmdev, sale, scm_info->is, scm_info->mbc); diff --git a/drivers/s390/cio/vfio_ccw_cp.c b/drivers/s390/cio/vfio_ccw_cp.c index 5f6e10225627..62c9c005b542 100644 --- a/drivers/s390/cio/vfio_ccw_cp.c +++ b/drivers/s390/cio/vfio_ccw_cp.c @@ -65,11 +65,11 @@ static int page_array_alloc(struct page_array *pa, unsigned int len) pa->pa_nr = len; - pa->pa_iova = kcalloc(len, sizeof(*pa->pa_iova), GFP_KERNEL); + pa->pa_iova = kzalloc_objs(*pa->pa_iova, len, GFP_KERNEL); if (!pa->pa_iova) return -ENOMEM; - pa->pa_page = kcalloc(len, sizeof(*pa->pa_page), GFP_KERNEL); + pa->pa_page = kzalloc_objs(*pa->pa_page, len, GFP_KERNEL); if (!pa->pa_page) { kfree(pa->pa_iova); return -ENOMEM; @@ -319,15 +319,15 @@ static struct ccwchain *ccwchain_alloc(struct channel_program *cp, int len) { struct ccwchain *chain; - chain = kzalloc(sizeof(*chain), GFP_KERNEL); + chain = kzalloc_obj(*chain, GFP_KERNEL); if (!chain) return NULL; - chain->ch_ccw = kcalloc(len, sizeof(*chain->ch_ccw), GFP_DMA | GFP_KERNEL); + chain->ch_ccw = kzalloc_objs(*chain->ch_ccw, len, GFP_DMA | GFP_KERNEL); if (!chain->ch_ccw) goto out_err; - chain->ch_pa = kcalloc(len, sizeof(*chain->ch_pa), GFP_KERNEL); + chain->ch_pa = kzalloc_objs(*chain->ch_pa, len, GFP_KERNEL); if (!chain->ch_pa) goto out_err; @@ -516,7 +516,7 @@ static dma64_t *get_guest_idal(struct ccw1 *ccw, struct channel_program *cp, int int idaw_mask = ~(idaw_size - 1); int i, ret; - idaws = kcalloc(idaw_nr, sizeof(*idaws), GFP_DMA | GFP_KERNEL); + idaws = kzalloc_objs(*idaws, idaw_nr, GFP_DMA | GFP_KERNEL); if (!idaws) return ERR_PTR(-ENOMEM); diff --git a/drivers/s390/cio/vfio_ccw_drv.c b/drivers/s390/cio/vfio_ccw_drv.c index 6ff5c9cfb7ed..db0bed2db4eb 100644 --- a/drivers/s390/cio/vfio_ccw_drv.c +++ b/drivers/s390/cio/vfio_ccw_drv.c @@ -171,7 +171,7 @@ static int vfio_ccw_sch_probe(struct subchannel *sch) return -ENODEV; } - parent = kzalloc(sizeof(*parent), GFP_KERNEL); + parent = kzalloc_obj(*parent, GFP_KERNEL); if (!parent) return -ENOMEM; @@ -281,7 +281,7 @@ static void vfio_ccw_queue_crw(struct vfio_ccw_private *private, * carry on. The guest will either see a later one or * learn when it issues its own store subchannel. */ - crw = kzalloc(sizeof(*crw), GFP_ATOMIC); + crw = kzalloc_obj(*crw, GFP_ATOMIC); if (!crw) return; diff --git a/drivers/s390/cio/vfio_ccw_ops.c b/drivers/s390/cio/vfio_ccw_ops.c index a596f6013019..ef7becf744da 100644 --- a/drivers/s390/cio/vfio_ccw_ops.c +++ b/drivers/s390/cio/vfio_ccw_ops.c @@ -55,8 +55,8 @@ static int vfio_ccw_mdev_init_dev(struct vfio_device *vdev) INIT_WORK(&private->io_work, vfio_ccw_sch_io_todo); INIT_WORK(&private->crw_work, vfio_ccw_crw_todo); - private->cp.guest_cp = kcalloc(CCWCHAIN_LEN_MAX, sizeof(struct ccw1), - GFP_KERNEL); + private->cp.guest_cp = kzalloc_objs(struct ccw1, CCWCHAIN_LEN_MAX, + GFP_KERNEL); if (!private->cp.guest_cp) goto out_free_private; |
