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/infiniband | |
| parent | 32a92f8c89326985e05dce8b22d3f0aa07a3e1bd (diff) | |
Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL usesHEADtorvalds/mastertorvalds/HEADmaster
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/infiniband')
26 files changed, 31 insertions, 42 deletions
diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c index 21b7753eedad..b415d4aad04f 100644 --- a/drivers/infiniband/core/cache.c +++ b/drivers/infiniband/core/cache.c @@ -1472,7 +1472,7 @@ ib_cache_update(struct ib_device *device, u32 port, bool update_gids, if (update_pkeys) { pkey_cache = kmalloc_flex(*pkey_cache, table, - tprops->pkey_tbl_len, GFP_KERNEL); + tprops->pkey_tbl_len); if (!pkey_cache) { ret = -ENOMEM; goto err; diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index d892a597ac2b..e54c07c74575 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c @@ -5376,8 +5376,7 @@ static int cma_add_one(struct ib_device *device) cma_dev->device = device; cma_dev->default_gid_type = kzalloc_objs(*cma_dev->default_gid_type, - device->phys_port_cnt, - GFP_KERNEL); + device->phys_port_cnt); if (!cma_dev->default_gid_type) { ret = -ENOMEM; goto free_cma_dev; diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c index 358ffe6756a4..1b5f1ee0a557 100644 --- a/drivers/infiniband/core/device.c +++ b/drivers/infiniband/core/device.c @@ -812,7 +812,7 @@ static int alloc_port_data(struct ib_device *device) * empty slots at the beginning. */ pdata_rcu = kzalloc_flex(*pdata_rcu, pdata, - size_add(rdma_end_port(device), 1), GFP_KERNEL); + size_add(rdma_end_port(device), 1)); if (!pdata_rcu) return -ENOMEM; /* diff --git a/drivers/infiniband/core/iwpm_util.c b/drivers/infiniband/core/iwpm_util.c index 7817b7dab7f9..990cf928b32a 100644 --- a/drivers/infiniband/core/iwpm_util.c +++ b/drivers/infiniband/core/iwpm_util.c @@ -59,12 +59,12 @@ static struct iwpm_admin_data iwpm_admin; int iwpm_init(u8 nl_client) { iwpm_hash_bucket = kzalloc_objs(struct hlist_head, - IWPM_MAPINFO_HASH_SIZE, GFP_KERNEL); + IWPM_MAPINFO_HASH_SIZE); if (!iwpm_hash_bucket) return -ENOMEM; iwpm_reminfo_bucket = kzalloc_objs(struct hlist_head, - IWPM_REMINFO_HASH_SIZE, GFP_KERNEL); + IWPM_REMINFO_HASH_SIZE); if (!iwpm_reminfo_bucket) { kfree(iwpm_hash_bucket); return -ENOMEM; diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c index 7f565613b5cf..69df8b703cbd 100644 --- a/drivers/infiniband/core/sysfs.c +++ b/drivers/infiniband/core/sysfs.c @@ -859,7 +859,7 @@ alloc_hw_stats_device(struct ib_device *ibdev) if (!data) goto err_free_stats; data->group.attrs = kzalloc_objs(*data->group.attrs, - stats->num_counters + 2, GFP_KERNEL); + stats->num_counters + 2); if (!data->group.attrs) goto err_free_data; @@ -1090,8 +1090,7 @@ static int setup_gid_attrs(struct ib_port *port, int ret; gid_attr_group = kzalloc_flex(*gid_attr_group, attrs_list, - size_mul(attr->gid_tbl_len, 2), - GFP_KERNEL); + size_mul(attr->gid_tbl_len, 2)); if (!gid_attr_group) return -ENOMEM; gid_attr_group->port = port; @@ -1155,8 +1154,7 @@ static struct ib_port *setup_port(struct ib_core_device *coredev, int port_num, int ret; p = kvzalloc_flex(*p, attrs_list, - size_add(attr->gid_tbl_len, attr->pkey_tbl_len), - GFP_KERNEL); + size_add(attr->gid_tbl_len, attr->pkey_tbl_len)); if (!p) return ERR_PTR(-ENOMEM); p->ibdev = device; diff --git a/drivers/infiniband/core/uverbs_uapi.c b/drivers/infiniband/core/uverbs_uapi.c index 7ed69890d87a..31b248295854 100644 --- a/drivers/infiniband/core/uverbs_uapi.c +++ b/drivers/infiniband/core/uverbs_uapi.c @@ -446,7 +446,7 @@ static int uapi_finalize(struct uverbs_api *uapi) uapi->num_write = max_write + 1; uapi->num_write_ex = max_write_ex + 1; data = kmalloc_objs(*uapi->write_methods, - uapi->num_write + uapi->num_write_ex, GFP_KERNEL); + uapi->num_write + uapi->num_write_ex); if (!data) return -ENOMEM; diff --git a/drivers/infiniband/hw/bnxt_re/qplib_res.c b/drivers/infiniband/hw/bnxt_re/qplib_res.c index 2f907246478f..341bae3d8a1d 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_res.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_res.c @@ -873,7 +873,7 @@ int bnxt_qplib_alloc_res(struct bnxt_qplib_res *res, struct net_device *netdev) /* Allocate one extra to hold the QP1 entries */ rcfw->qp_tbl_size = max_t(u32, BNXT_RE_MAX_QPC_COUNT + 1, dev_attr->max_qp); rcfw->qp_tbl = kzalloc_objs(struct bnxt_qplib_qp_node, - rcfw->qp_tbl_size, GFP_KERNEL); + rcfw->qp_tbl_size); if (!rcfw->qp_tbl) return -ENOMEM; diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c index 505bf009941e..102c5646b9ed 100644 --- a/drivers/infiniband/hw/cxgb4/device.c +++ b/drivers/infiniband/hw/cxgb4/device.c @@ -882,8 +882,7 @@ static int c4iw_rdev_open(struct c4iw_rdev *rdev) if (c4iw_wr_log) { rdev->wr_log = kzalloc_objs(*rdev->wr_log, - 1 << c4iw_wr_log_size_order, - GFP_KERNEL); + 1 << c4iw_wr_log_size_order); if (rdev->wr_log) { rdev->wr_log_size = 1 << c4iw_wr_log_size_order; atomic_set(&rdev->wr_log_idx, 0); diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c index 0a2d9eb72511..d9a86e4c5461 100644 --- a/drivers/infiniband/hw/cxgb4/qp.c +++ b/drivers/infiniband/hw/cxgb4/qp.c @@ -2551,7 +2551,7 @@ static int alloc_srq_queue(struct c4iw_srq *srq, struct c4iw_dev_ucontext *uctx, if (!wq->sw_rq) goto err_put_qpid; wq->pending_wrs = kzalloc_objs(*srq->wq.pending_wrs, - srq->wq.size, GFP_KERNEL); + srq->wq.size); if (!wq->pending_wrs) goto err_free_sw_rq; } diff --git a/drivers/infiniband/hw/hfi1/affinity.c b/drivers/infiniband/hw/hfi1/affinity.c index a684e25482b2..2b20907c9c12 100644 --- a/drivers/infiniband/hw/hfi1/affinity.c +++ b/drivers/infiniband/hw/hfi1/affinity.c @@ -407,8 +407,7 @@ static int _dev_comp_vect_mappings_create(struct hfi1_devdata *dd, } dd->comp_vect_mappings = kzalloc_objs(*dd->comp_vect_mappings, - dd->comp_vect_possible_cpus, - GFP_KERNEL); + dd->comp_vect_possible_cpus); if (!dd->comp_vect_mappings) { ret = -ENOMEM; goto fail; diff --git a/drivers/infiniband/hw/hfi1/pio.c b/drivers/infiniband/hw/hfi1/pio.c index bc61a13c336a..51afaac88c72 100644 --- a/drivers/infiniband/hw/hfi1/pio.c +++ b/drivers/infiniband/hw/hfi1/pio.c @@ -408,7 +408,7 @@ int init_send_contexts(struct hfi1_devdata *dd) dd->hw_to_sw = kmalloc_array(TXE_NUM_CONTEXTS, sizeof(u8), GFP_KERNEL); dd->send_contexts = kzalloc_objs(struct send_context_info, - dd->num_send_contexts, GFP_KERNEL); + dd->num_send_contexts); if (!dd->send_contexts || !dd->hw_to_sw) { kfree(dd->hw_to_sw); kfree(dd->send_contexts); @@ -2051,7 +2051,7 @@ int init_credit_return(struct hfi1_devdata *dd) int i; dd->cr_base = kzalloc_objs(struct credit_return_base, - node_affinity.num_possible_nodes, GFP_KERNEL); + node_affinity.num_possible_nodes); if (!dd->cr_base) { ret = -ENOMEM; goto done; diff --git a/drivers/infiniband/hw/hfi1/user_exp_rcv.c b/drivers/infiniband/hw/hfi1/user_exp_rcv.c index a092c92953de..5b01070ed66f 100644 --- a/drivers/infiniband/hw/hfi1/user_exp_rcv.c +++ b/drivers/infiniband/hw/hfi1/user_exp_rcv.c @@ -59,8 +59,7 @@ int hfi1_user_exp_rcv_init(struct hfi1_filedata *fd, if (!HFI1_CAP_UGET_MASK(uctxt->flags, TID_UNMAP)) { fd->invalid_tid_idx = 0; fd->invalid_tids = kzalloc_objs(*fd->invalid_tids, - uctxt->expected_count, - GFP_KERNEL); + uctxt->expected_count); if (!fd->invalid_tids) { kfree(fd->entry_to_rb); fd->entry_to_rb = NULL; diff --git a/drivers/infiniband/hw/hns/hns_roce_hem.c b/drivers/infiniband/hw/hns/hns_roce_hem.c index 9b60392afa39..4eaaedcc7652 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hem.c +++ b/drivers/infiniband/hw/hns/hns_roce_hem.c @@ -778,8 +778,7 @@ int hns_roce_init_hem_table(struct hns_roce_dev *hr_dev, goto err_kcalloc_bt_l1; table->bt_l1_dma_addr = kzalloc_objs(*table->bt_l1_dma_addr, - num_bt_l1, - GFP_KERNEL); + num_bt_l1); if (!table->bt_l1_dma_addr) goto err_kcalloc_l1_dma; @@ -793,8 +792,7 @@ int hns_roce_init_hem_table(struct hns_roce_dev *hr_dev, goto err_kcalloc_bt_l0; table->bt_l0_dma_addr = kzalloc_objs(*table->bt_l0_dma_addr, - num_bt_l0, - GFP_KERNEL); + num_bt_l0); if (!table->bt_l0_dma_addr) goto err_kcalloc_l0_dma; } diff --git a/drivers/infiniband/hw/hns/hns_roce_mr.c b/drivers/infiniband/hw/hns/hns_roce_mr.c index 741e4f3c557f..896af1828a38 100644 --- a/drivers/infiniband/hw/hns/hns_roce_mr.c +++ b/drivers/infiniband/hw/hns/hns_roce_mr.c @@ -459,8 +459,7 @@ int hns_roce_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents, mr->npages = 0; mr->page_list = kvzalloc_objs(dma_addr_t, - mr->pbl_mtr.hem_cfg.buf_pg_count, - GFP_KERNEL); + mr->pbl_mtr.hem_cfg.buf_pg_count); if (!mr->page_list) return sg_num; diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana/main.c index 3d6a9c427269..8d99cd00f002 100644 --- a/drivers/infiniband/hw/mana/main.c +++ b/drivers/infiniband/hw/mana/main.c @@ -794,7 +794,7 @@ int mana_ib_create_eqs(struct mana_ib_dev *mdev) return err; mdev->eqs = kzalloc_objs(struct gdma_queue *, - mdev->ib_dev.num_comp_vectors, GFP_KERNEL); + mdev->ib_dev.num_comp_vectors); if (!mdev->eqs) { err = -ENOMEM; goto destroy_fatal_eq; diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c index e5e7ecd14284..9aa6817aaf16 100644 --- a/drivers/infiniband/hw/mlx4/mad.c +++ b/drivers/infiniband/hw/mlx4/mad.c @@ -2158,7 +2158,7 @@ static int mlx4_ib_alloc_demux_ctx(struct mlx4_ib_dev *dev, int i; ctx->tun = kzalloc_objs(struct mlx4_ib_demux_pv_ctx *, - dev->dev->caps.sqp_demux, GFP_KERNEL); + dev->dev->caps.sqp_demux); if (!ctx->tun) return -ENOMEM; diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 6ee12aab1259..63360c5a73c7 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@ -2426,7 +2426,7 @@ static void mlx4_ib_alloc_eqs(struct mlx4_dev *dev, struct mlx4_ib_dev *ibdev) int i, j, eq = 0, total_eqs = 0; ibdev->eq_table = kzalloc_objs(ibdev->eq_table[0], - dev->caps.num_comp_vectors, GFP_KERNEL); + dev->caps.num_comp_vectors); if (!ibdev->eq_table) return; diff --git a/drivers/infiniband/hw/mlx5/macsec.c b/drivers/infiniband/hw/mlx5/macsec.c index b52abe8c47c4..b44832025ab7 100644 --- a/drivers/infiniband/hw/mlx5/macsec.c +++ b/drivers/infiniband/hw/mlx5/macsec.c @@ -181,7 +181,7 @@ int mlx5r_macsec_init_gids_and_devlist(struct mlx5_ib_dev *dev) max_gids = MLX5_CAP_ROCE(dev->mdev, roce_address_table_size); for (i = 0; i < dev->num_ports; i++) { dev->port[i].reserved_gids = kzalloc_objs(*dev->port[i].reserved_gids, - max_gids, GFP_KERNEL); + max_gids); if (!dev->port[i].reserved_gids) goto err; diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c index ba89b03d36f9..635002e684a5 100644 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -5205,8 +5205,7 @@ static struct ib_device *mlx5_ib_add_sub_dev(struct ib_device *parent, return ERR_PTR(-ENOMEM); mplane->port = kzalloc_objs(*mplane->port, - mparent->num_plane * mparent->num_ports, - GFP_KERNEL); + mparent->num_plane * mparent->num_ports); if (!mplane->port) { ret = -ENOMEM; goto fail_kcalloc; diff --git a/drivers/infiniband/hw/mthca/mthca_cmd.c b/drivers/infiniband/hw/mthca/mthca_cmd.c index 1c51814d5354..c50a50be6c61 100644 --- a/drivers/infiniband/hw/mthca/mthca_cmd.c +++ b/drivers/infiniband/hw/mthca/mthca_cmd.c @@ -560,7 +560,7 @@ int mthca_cmd_use_events(struct mthca_dev *dev) int i; dev->cmd.context = kmalloc_objs(struct mthca_cmd_context, - dev->cmd.max_cmds, GFP_KERNEL); + dev->cmd.max_cmds); if (!dev->cmd.context) return -ENOMEM; diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.c b/drivers/infiniband/hw/mthca/mthca_memfree.c index e4380d7f2327..9c5eb03f354d 100644 --- a/drivers/infiniband/hw/mthca/mthca_memfree.c +++ b/drivers/infiniband/hw/mthca/mthca_memfree.c @@ -718,7 +718,7 @@ int mthca_init_db_tab(struct mthca_dev *dev) dev->db_tab->min_group2 = dev->db_tab->npages - 1; dev->db_tab->page = kmalloc_objs(*dev->db_tab->page, - dev->db_tab->npages, GFP_KERNEL); + dev->db_tab->npages); if (!dev->db_tab->page) { kfree(dev->db_tab); return -ENOMEM; diff --git a/drivers/infiniband/hw/usnic/usnic_uiom.c b/drivers/infiniband/hw/usnic/usnic_uiom.c index e94aa9608465..691c64a73516 100644 --- a/drivers/infiniband/hw/usnic/usnic_uiom.c +++ b/drivers/infiniband/hw/usnic/usnic_uiom.c @@ -150,8 +150,7 @@ static int usnic_uiom_get_pages(unsigned long addr, size_t size, int writable, while (ret) { chunk = kmalloc_flex(*chunk, page_list, - min_t(int, ret, USNIC_UIOM_PAGE_CHUNK), - GFP_KERNEL); + min_t(int, ret, USNIC_UIOM_PAGE_CHUNK)); if (!chunk) { ret = -ENOMEM; goto out; diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c index f27c28d934ae..cc889b4889d8 100644 --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c @@ -272,7 +272,7 @@ static int pvrdma_register_device(struct pvrdma_dev *dev) ib_set_device_ops(&dev->ib_dev, &pvrdma_dev_srq_ops); dev->srq_tbl = kzalloc_objs(struct pvrdma_srq *, - dev->dsr->caps.max_srq, GFP_KERNEL); + dev->dsr->caps.max_srq); if (!dev->srq_tbl) goto err_qp_free; } diff --git a/drivers/infiniband/ulp/iser/iser_initiator.c b/drivers/infiniband/ulp/iser/iser_initiator.c index 0ae0f7722e0f..12a2d12fef07 100644 --- a/drivers/infiniband/ulp/iser/iser_initiator.c +++ b/drivers/infiniband/ulp/iser/iser_initiator.c @@ -241,7 +241,7 @@ int iser_alloc_rx_descriptors(struct iser_conn *iser_conn, iser_conn->num_rx_descs = session->cmds_max; iser_conn->rx_descs = kmalloc_objs(struct iser_rx_desc, - iser_conn->num_rx_descs, GFP_KERNEL); + iser_conn->num_rx_descs); if (!iser_conn->rx_descs) goto rx_desc_alloc_fail; diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index 233adb1fe9ac..348005e71891 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c @@ -153,7 +153,7 @@ isert_alloc_rx_descriptors(struct isert_conn *isert_conn) int i, j; isert_conn->rx_descs = kzalloc_objs(struct iser_rx_desc, - ISERT_QP_MAX_RECV_DTOS, GFP_KERNEL); + ISERT_QP_MAX_RECV_DTOS); if (!isert_conn->rx_descs) return -ENOMEM; diff --git a/drivers/infiniband/ulp/rtrs/rtrs-clt.c b/drivers/infiniband/ulp/rtrs/rtrs-clt.c index f1c3b4d14324..3362362f9e2e 100644 --- a/drivers/infiniband/ulp/rtrs/rtrs-clt.c +++ b/drivers/infiniband/ulp/rtrs/rtrs-clt.c @@ -1871,7 +1871,7 @@ static int rtrs_rdma_conn_established(struct rtrs_clt_con *con, if (!clt_path->rbufs) { clt_path->rbufs = kzalloc_objs(*clt_path->rbufs, - queue_depth, GFP_KERNEL); + queue_depth); if (!clt_path->rbufs) return -ENOMEM; } |
