From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com>
To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org
Cc: Uladzislau Rezki <urezki@gmail.com>,
Christoph Hellwig <hch@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>,
"Vishal Moola (Oracle)" <vishal.moola@gmail.com>
Subject: [PATCH v3 0/4] make vmalloc gfp flags usage more apparent
Date: Mon, 17 Nov 2025 09:35:26 -0800 [thread overview]
Message-ID: <20251117173530.43293-1-vishal.moola@gmail.com> (raw)
We should do a better job at enforcing gfp flags for vmalloc. Right now, we
have a kernel-doc for __vmalloc_node_range(), and hope callers pass in
supported flags. If a caller were to pass in an unsupported flag, we may
BUG, silently clear it, or completely ignore it.
If we are more proactive about enforcing gfp flags, we can making sure
callers know when they may be asking for unsupported behavior.
This patchset lets vmalloc control the incoming gfp flags, and cleans up
some hard to read gfp code.
---
Linked rfc [1] and rfc v2[2] for convenience.
Patch v2 -> v3:
Only changes the whitelist mask and comment in patch 1:
- Replace __GFP_HARDWALL with GFP_USER
- Add GFP_KERNEL_ACCOUNT[4]
- Add GFP_NOFS and GFP_NOIO just so all supported flags are explicitly
listed in the mask.
v2:
- Add __GFP_HARDWALL[3] for bpf and drm users.
- cc BPF mailing list
RFC -> PATCH:
- Collected review tags (Patches 1 & 4)
- Add unlikely keyword to help the compiler
- Replace pr_warn() with WARN(1)
RFC v2:
- Whitelist supported gfp flags instead of blacklisting the unsupported
- Move the flags check up to the only exported functions that accept
flags:
__vmalloc_noprof() and vmalloc_huge_node_prof()
[1] https://lore.kernel.org/linux-mm/20251030164330.44995-1-vishal.moola@gmail.com/
[2] https://lore.kernel.org/linux-mm/20251103190429.104747-1-vishal.moola@gmail.com/
[3] https://lore.kernel.org/linux-mm/20251110160457.61791-1-vishal.moola@gmail.com/T/#me8b548520ce9c81a5099c00abe53dd248c16eae7
[4] https://lore.kernel.org/linux-mm/69158bb1.a70a0220.3124cb.001e.GAE@google.com/
Vishal Moola (Oracle) (4):
mm/vmalloc: warn on invalid vmalloc gfp flags
mm/vmalloc: Add a helper to optimize vmalloc allocation gfps
mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages()
mm/vmalloc: cleanup gfp flag use in new_vmap_block()
mm/vmalloc.c | 50 ++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 42 insertions(+), 8 deletions(-)
--
2.51.1
next reply other threads:[~2025-11-17 17:37 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-17 17:35 Vishal Moola (Oracle) [this message]
2025-11-17 17:35 ` [PATCH v3 1/4] mm/vmalloc: warn on invalid vmalloc gfp flags Vishal Moola (Oracle)
2025-11-18 9:34 ` Uladzislau Rezki
2025-11-18 22:44 ` Nathan Chancellor
2025-11-19 0:54 ` Oliver Upton
2025-11-19 5:44 ` Christoph Hellwig
2025-11-17 17:35 ` [PATCH v3 2/4] mm/vmalloc: Add a helper to optimize vmalloc allocation gfps Vishal Moola (Oracle)
2025-11-18 9:35 ` Uladzislau Rezki
2025-11-17 17:35 ` [PATCH v3 3/4] mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages() Vishal Moola (Oracle)
2025-11-18 9:35 ` Uladzislau Rezki
2025-11-17 17:35 ` [PATCH v3 4/4] mm/vmalloc: cleanup gfp flag use in new_vmap_block() Vishal Moola (Oracle)
2025-11-18 9:36 ` Uladzislau Rezki
2025-11-20 1:03 ` [PATCH v3 0/4] make vmalloc gfp flags usage more apparent SeongJae Park
2025-11-20 18:04 ` Andrew Morton
2025-11-18 16:14 Biju Das
2025-11-18 17:07 ` Vishal Moola (Oracle)
2025-11-18 19:57 ` Matthew Wilcox
2025-11-19 18:55 ` Vishal Moola (Oracle)
2025-11-21 7:29 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251117173530.43293-1-vishal.moola@gmail.com \
--to=vishal.moola@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=bpf@vger.kernel.org \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=urezki@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox