summaryrefslogtreecommitdiff
path: root/drivers/fpga
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/fpga
parentd39a1d7486d98668dd34aaa6732aad7977c45f5a (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.c2
-rw-r--r--drivers/fpga/dfl-pci.c2
-rw-r--r--drivers/fpga/dfl.c9
-rw-r--r--drivers/fpga/fpga-bridge.c2
-rw-r--r--drivers/fpga/fpga-mgr.c4
-rw-r--r--drivers/fpga/fpga-region.c2
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);