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/block | |
| parent | 32a92f8c89326985e05dce8b22d3f0aa07a3e1bd (diff) | |
| download | lwn-189f164e573e18d9f8876dbd3ad8fcbe11f93037.tar.gz lwn-189f164e573e18d9f8876dbd3ad8fcbe11f93037.zip | |
Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses
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/block')
| -rw-r--r-- | drivers/block/rnbd/rnbd-clt.c | 2 | ||||
| -rw-r--r-- | drivers/block/xen-blkfront.c | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/drivers/block/rnbd/rnbd-clt.c b/drivers/block/rnbd/rnbd-clt.c index c60dafbe79e8..4d6725a0035e 100644 --- a/drivers/block/rnbd/rnbd-clt.c +++ b/drivers/block/rnbd/rnbd-clt.c @@ -1418,7 +1418,7 @@ static struct rnbd_clt_dev *init_dev(struct rnbd_clt_session *sess, * nr_poll_queues: the number of polling queues */ dev->hw_queues = kzalloc_objs(*dev->hw_queues, - nr_cpu_ids + nr_poll_queues, GFP_KERNEL); + nr_cpu_ids + nr_poll_queues); if (!dev->hw_queues) { ret = -ENOMEM; goto out_alloc; diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 8fc7fc3bf867..f765970578f9 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -2209,12 +2209,11 @@ static int blkfront_setup_indirect(struct blkfront_ring_info *rinfo) rinfo->shadow[i].grants_used = kvzalloc_objs(rinfo->shadow[i].grants_used[0], grants); rinfo->shadow[i].sg = kvzalloc_objs(rinfo->shadow[i].sg[0], - psegs, GFP_KERNEL); + psegs); if (info->max_indirect_segments) rinfo->shadow[i].indirect_grants = kvzalloc_objs(rinfo->shadow[i].indirect_grants[0], - INDIRECT_GREFS(grants), - GFP_KERNEL); + INDIRECT_GREFS(grants)); if ((rinfo->shadow[i].grants_used == NULL) || (rinfo->shadow[i].sg == NULL) || (info->max_indirect_segments && |
