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/fpga | |
| parent | d39a1d7486d98668dd34aaa6732aad7977c45f5a (diff) | |
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/fpga')
| -rw-r--r-- | drivers/fpga/dfl-afu-dma-region.c | 2 | ||||
| -rw-r--r-- | drivers/fpga/dfl-pci.c | 2 | ||||
| -rw-r--r-- | drivers/fpga/dfl.c | 9 | ||||
| -rw-r--r-- | drivers/fpga/fpga-bridge.c | 2 | ||||
| -rw-r--r-- | drivers/fpga/fpga-mgr.c | 4 | ||||
| -rw-r--r-- | drivers/fpga/fpga-region.c | 2 |
6 files changed, 11 insertions, 10 deletions
diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-afu-dma-region.c index 5aa7b8884374..c71a93d8aee3 100644 --- a/drivers/fpga/dfl-afu-dma-region.c +++ b/drivers/fpga/dfl-afu-dma-region.c @@ -42,7 +42,7 @@ static int afu_dma_pin_pages(struct dfl_feature_dev_data *fdata, if (ret) return ret; - region->pages = kcalloc(npages, sizeof(struct page *), GFP_KERNEL); + region->pages = kzalloc_objs(struct page *, npages, GFP_KERNEL); if (!region->pages) { ret = -ENOMEM; goto unlock_vm; diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c index 602807d6afcc..3e560e5d7241 100644 --- a/drivers/fpga/dfl-pci.c +++ b/drivers/fpga/dfl-pci.c @@ -139,7 +139,7 @@ static int *cci_pci_create_irq_table(struct pci_dev *pcidev, unsigned int nvec) unsigned int i; int *table; - table = kcalloc(nvec, sizeof(int), GFP_KERNEL); + table = kzalloc_objs(int, nvec, GFP_KERNEL); if (!table) return table; diff --git a/drivers/fpga/dfl.c b/drivers/fpga/dfl.c index 449c3a082e23..d26003d3c931 100644 --- a/drivers/fpga/dfl.c +++ b/drivers/fpga/dfl.c @@ -347,7 +347,7 @@ dfl_dev_add(struct dfl_feature_dev_data *fdata, struct dfl_device *ddev; int id, i, ret; - ddev = kzalloc(sizeof(*ddev), GFP_KERNEL); + ddev = kzalloc_obj(*ddev, GFP_KERNEL); if (!ddev) return ERR_PTR(-ENOMEM); @@ -397,8 +397,8 @@ dfl_dev_add(struct dfl_feature_dev_data *fdata, /* then add irq resource */ if (feature->nr_irqs) { - ddev->irqs = kcalloc(feature->nr_irqs, - sizeof(*ddev->irqs), GFP_KERNEL); + ddev->irqs = kzalloc_objs(*ddev->irqs, feature->nr_irqs, + GFP_KERNEL); if (!ddev->irqs) { ret = -ENOMEM; goto put_dev; @@ -1182,7 +1182,8 @@ create_feature_instance(struct build_feature_devs_info *binfo, if (binfo->len - ofst < size) return -EINVAL; - finfo = kzalloc(struct_size(finfo, params, dfh_psize / sizeof(u64)), GFP_KERNEL); + finfo = kzalloc_flex(*finfo, params, dfh_psize / sizeof(u64), + GFP_KERNEL); if (!finfo) return -ENOMEM; diff --git a/drivers/fpga/fpga-bridge.c b/drivers/fpga/fpga-bridge.c index 8ef395b49bf8..c709aa3ef04c 100644 --- a/drivers/fpga/fpga-bridge.c +++ b/drivers/fpga/fpga-bridge.c @@ -346,7 +346,7 @@ __fpga_bridge_register(struct device *parent, const char *name, return ERR_PTR(-EINVAL); } - bridge = kzalloc(sizeof(*bridge), GFP_KERNEL); + bridge = kzalloc_obj(*bridge, GFP_KERNEL); if (!bridge) return ERR_PTR(-ENOMEM); diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c index 0f4035b089a2..215303dd6a64 100644 --- a/drivers/fpga/fpga-mgr.c +++ b/drivers/fpga/fpga-mgr.c @@ -486,7 +486,7 @@ static int fpga_mgr_buf_load(struct fpga_manager *mgr, */ nr_pages = DIV_ROUND_UP((unsigned long)buf + count, PAGE_SIZE) - (unsigned long)buf / PAGE_SIZE; - pages = kmalloc_array(nr_pages, sizeof(struct page *), GFP_KERNEL); + pages = kmalloc_objs(struct page *, nr_pages, GFP_KERNEL); if (!pages) return -ENOMEM; @@ -801,7 +801,7 @@ __fpga_mgr_register_full(struct device *parent, const struct fpga_manager_info * return ERR_PTR(-EINVAL); } - mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); + mgr = kzalloc_obj(*mgr, GFP_KERNEL); if (!mgr) return ERR_PTR(-ENOMEM); diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c index 753cd142503e..43dbdacfd87e 100644 --- a/drivers/fpga/fpga-region.c +++ b/drivers/fpga/fpga-region.c @@ -201,7 +201,7 @@ __fpga_region_register_full(struct device *parent, const struct fpga_region_info return ERR_PTR(-EINVAL); } - region = kzalloc(sizeof(*region), GFP_KERNEL); + region = kzalloc_obj(*region, GFP_KERNEL); if (!region) return ERR_PTR(-ENOMEM); |
