Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Incomplete refactoring: vma_flags_can_merge() in the VMA testing framework (tools/testing/vma/include/dup.h) was not updated to use the new vma_flags_is_fixed_mapping() predicate.
--
commit 11aa075e5d40e13021c110a6f4f112bc2d087fdf
Author: Lorenzo Stoakes (ARM) [off-list ref]
mm/vma: add and use vma_[flags]_is_fixed_mapping
This commit introduces new predicates to determine if a VMA is a fixed
mapping that cannot be expanded or merged. It updates core VMA merging logic
and mremap checks to use these new helpers.
quoted hunk ↗ jump to hunk
diff --git a/include/linux/mm.h b/include/linux/mm.h
index cab29d6e15c14..ca598e5f97154 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
[ ... ]
quoted hunk ↗ jump to hunk
@@ -1671,7 +1702,7 @@ static inline bool vma_flags_can_merge(const vma_flags_t *flags)
if (vma_flags_is_kernel_owned(flags))
return false;
/* VMA explicitly marked as being unmergeable. */
- if (vma_flags_test(flags, VMA_DONTEXPAND_BIT))
+ if (vma_flags_is_fixed_mapping(flags))
[Severity: Low]
Since this patch updates vma_flags_can_merge() in include/linux/mm.h to use
the new vma_flags_is_fixed_mapping() helper, should the duplicated version
of vma_flags_can_merge() in tools/testing/vma/include/dup.h also be updated
to match?
Leaving it out causes the mock in the testing framework to textually diverge
from the core implementation. While the logical behavior remains the same
because vma_flags_is_kernel_owned() catches VMA_PFNMAP_BIT, it seems the
duplicated code missed getting this newly introduced helper.
For reference, vma_flags_can_merge() in tools/testing/vma/include/dup.h
still contains the old test:
/* VMA explicitly marked as being unmergeable. */
if (vma_flags_test(flags, VMA_DONTEXPAND_BIT))
return false;
return false;
return true;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914-b4-mmap-prepare-vma-flag-sanify-v2-0-7d9781ed5361@kernel.org?part=17