]> git.hungrycats.org Git - linux/commit
mm/vmalloc: use physical page count for vrealloc() grow-in-place check
authorShivam Kalra <shivamkalra98@zohomail.in>
Tue, 19 May 2026 12:12:15 +0000 (17:42 +0530)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 2 Jun 2026 22:22:32 +0000 (15:22 -0700)
commitd57ac904ffdce6c06e9a113fce603420c041b48c
tree2410c92dd89ff48fde00e8340fd5f0c81167e6bd
parent4f1839e22527f1621767721a90fa00425fbb0877
mm/vmalloc: use physical page count for vrealloc() grow-in-place check

Update the grow-in-place check in vrealloc() to compare the requested size
against the actual physical page count (vm->nr_pages) rather than the
virtual area size (alloced_size, derived from get_vm_area_size()).

Currently both values are equivalent, but the upcoming vrealloc() shrink
functionality will free pages without reducing the virtual reservation
size.  After such a shrink, the old alloced_size-based comparison would
incorrectly allow a grow-in-place operation to succeed and attempt to
access freed pages.  Switch to vm->nr_pages now so the check remains
correct once shrink support is added.

Link: https://lore.kernel.org/20260519-vmalloc-shrink-v14-2-70b96ee3e9c9@zohomail.in
Signed-off-by: Shivam Kalra <shivamkalra98@zohomail.in>
Reviewed-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vmalloc.c