On 19/06/25 1:12 AM, Lorenzo Stoakes wrote:
The VMA flags field vma->vm_flags is of type vm_flags_t. Right now this is
exactly equivalent to unsigned long, but it should not be assumed to be.
Much code that references vma->vm_flags already correctly uses vm_flags_t,
but a fairly large chunk of code simply uses unsigned long and assumes that
the two are equivalent.
This series corrects that and has us use vm_flags_t consistently.
This series is motivated by the desire to, in a future series, adjust
vm_flags_t to be a u64 regardless of whether the kernel is 32-bit or 64-bit
in order to deal with the VMA flag exhaustion issue and avoid all the
various problems that arise from it (being unable to use certain features
in 32-bit, being unable to add new flags except for 64-bit, etc.)
This is therefore a critical first step towards that goal. At any rate,
using the correct type is of value regardless.
We additionally take the opportunity to refer to VMA flags as vm_flags
where possible to make clear what we're referring to.
Overall, this series does not introduce any functional change.
Lorenzo Stoakes (3):
mm: change vm_get_page_prot() to accept vm_flags_t argument
mm: update core kernel code to use vm_flags_t consistently
mm: update architecture and driver code to use vm_flags_t
Hello Lorenzo,
Just wondering which tree-branch this series applies ? Tried all the usual
ones but could not apply the series cleanly.
v6.16-rc3
next-20250624
mm-stable
mm-unstable
b4 am cover.1750274467.git.lorenzo.stoakes@oracle.com
git am ./20250618_lorenzo_stoakes_use_vm_flags_t_consistently.mbx
- Anshuman