summaryrefslogtreecommitdiff
path: root/kernel/power
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 /kernel/power
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 'kernel/power')
-rw-r--r--kernel/power/console.c2
-rw-r--r--kernel/power/energy_model.c2
-rw-r--r--kernel/power/qos.c4
-rw-r--r--kernel/power/snapshot.c6
-rw-r--r--kernel/power/swap.c8
-rw-r--r--kernel/power/wakelock.c2
6 files changed, 12 insertions, 12 deletions
diff --git a/kernel/power/console.c b/kernel/power/console.c
index a906a0ac0f9b..5ed9e1be1560 100644
--- a/kernel/power/console.c
+++ b/kernel/power/console.c
@@ -58,7 +58,7 @@ int pm_vt_switch_required(struct device *dev, bool required)
}
}
- entry = kmalloc(sizeof(*entry), GFP_KERNEL);
+ entry = kmalloc_obj(*entry, GFP_KERNEL);
if (!entry) {
ret = -ENOMEM;
goto out;
diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c
index 5b055cbe5341..43ddfc11b84a 100644
--- a/kernel/power/energy_model.c
+++ b/kernel/power/energy_model.c
@@ -439,7 +439,7 @@ static int em_create_pd(struct device *dev, int nr_states,
cpumask_copy(em_span_cpus(pd), cpus);
} else {
- pd = kzalloc(sizeof(*pd), GFP_KERNEL);
+ pd = kzalloc_obj(*pd, GFP_KERNEL);
if (!pd)
return -ENOMEM;
}
diff --git a/kernel/power/qos.c b/kernel/power/qos.c
index f7d8064e9adc..750b80f45b9f 100644
--- a/kernel/power/qos.c
+++ b/kernel/power/qos.c
@@ -341,7 +341,7 @@ static int cpu_latency_qos_open(struct inode *inode, struct file *filp)
{
struct pm_qos_request *req;
- req = kzalloc(sizeof(*req), GFP_KERNEL);
+ req = kzalloc_obj(*req, GFP_KERNEL);
if (!req)
return -ENOMEM;
@@ -440,7 +440,7 @@ static int cpu_wakeup_latency_qos_open(struct inode *inode, struct file *filp)
{
struct pm_qos_request *req;
- req = kzalloc(sizeof(*req), GFP_KERNEL);
+ req = kzalloc_obj(*req, GFP_KERNEL);
if (!req)
return -ENOMEM;
diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c
index 0a946932d5c1..be0b3304339f 100644
--- a/kernel/power/snapshot.c
+++ b/kernel/power/snapshot.c
@@ -646,7 +646,7 @@ static int create_mem_extents(struct list_head *list, gfp_t gfp_mask)
/* New extent is necessary */
struct mem_extent *new_ext;
- new_ext = kzalloc(sizeof(struct mem_extent), gfp_mask);
+ new_ext = kzalloc_obj(struct mem_extent, gfp_mask);
if (!new_ext) {
free_mem_extents(list);
return -ENOMEM;
@@ -1124,7 +1124,7 @@ int create_basic_memory_bitmaps(void)
else
BUG_ON(forbidden_pages_map || free_pages_map);
- bm1 = kzalloc(sizeof(struct memory_bitmap), GFP_KERNEL);
+ bm1 = kzalloc_obj(struct memory_bitmap, GFP_KERNEL);
if (!bm1)
return -ENOMEM;
@@ -1132,7 +1132,7 @@ int create_basic_memory_bitmaps(void)
if (error)
goto Free_first_object;
- bm2 = kzalloc(sizeof(struct memory_bitmap), GFP_KERNEL);
+ bm2 = kzalloc_obj(struct memory_bitmap, GFP_KERNEL);
if (!bm2)
goto Free_first_bitmap;
diff --git a/kernel/power/swap.c b/kernel/power/swap.c
index c4eb284b8e72..9bc1241259d3 100644
--- a/kernel/power/swap.c
+++ b/kernel/power/swap.c
@@ -155,7 +155,7 @@ static int swsusp_extents_insert(unsigned long swap_offset)
}
}
/* Add the new node and rebalance the tree. */
- ext = kzalloc(sizeof(struct swsusp_extent), GFP_KERNEL);
+ ext = kzalloc_obj(struct swsusp_extent, GFP_KERNEL);
if (!ext)
return -ENOMEM;
@@ -577,7 +577,7 @@ static struct crc_data *alloc_crc_data(int nr_threads)
{
struct crc_data *crc;
- crc = kzalloc(sizeof(*crc), GFP_KERNEL);
+ crc = kzalloc_obj(*crc, GFP_KERNEL);
if (!crc)
return NULL;
@@ -585,7 +585,7 @@ static struct crc_data *alloc_crc_data(int nr_threads)
if (!crc->unc)
goto err_free_crc;
- crc->unc_len = kcalloc(nr_threads, sizeof(*crc->unc_len), GFP_KERNEL);
+ crc->unc_len = kzalloc_objs(*crc->unc_len, nr_threads, GFP_KERNEL);
if (!crc->unc_len)
goto err_free_unc;
@@ -1016,7 +1016,7 @@ static int get_swap_reader(struct swap_map_handle *handle,
last = handle->maps = NULL;
offset = swsusp_header->image;
while (offset) {
- tmp = kzalloc(sizeof(*handle->maps), GFP_KERNEL);
+ tmp = kzalloc_obj(*handle->maps, GFP_KERNEL);
if (!tmp) {
release_swap_reader(handle);
return -ENOMEM;
diff --git a/kernel/power/wakelock.c b/kernel/power/wakelock.c
index 4e941999a53b..49712d9e7cfa 100644
--- a/kernel/power/wakelock.c
+++ b/kernel/power/wakelock.c
@@ -178,7 +178,7 @@ static struct wakelock *wakelock_lookup_add(const char *name, size_t len,
return ERR_PTR(-ENOSPC);
/* Not found, we have to add a new one. */
- wl = kzalloc(sizeof(*wl), GFP_KERNEL);
+ wl = kzalloc_obj(*wl, GFP_KERNEL);
if (!wl)
return ERR_PTR(-ENOMEM);