On Thu, Jul 02, 2026 at 12:30:59PM +0100, Lorenzo Stoakes wrote:
>
...
> static inline unsigned long vma_offset(const struct vm_area_struct *vma,
> const unsigned long address)
> {
> /* Retains page offset and tags. */
> return address - vma->vm_start;
> }
>
...
> And I'm not sure it's really all that useful. Perhaps retaining vma_offset()
> would be though.
>
Silly question:
What's the purpose of retaining tags in a non-address value?
That sounds like there's fragility just waiting to be broken.
(I presume you are talking about things like ARM MTE and such, right?)
> This is one that I think makes more sense.
>
> But in general, I'd rather hold off from yet more churn here.
>
> I'm making these changes to establish a basis for virtual page offsets
> introduced in [0], rather than just cleaning up in general.
>
I agree with this. If the refactors here suddenly have to think about
corner cases on things like tags, that's better resolved separately.
~Gregory