Re: [PATCHv15 05/17] mm: Introduce untagged_addr_remote()

From: Alexander Potapenko
Date: Thu Feb 09 2023 - 09:09:35 EST


On Mon, Jan 23, 2023 at 11:05 PM Kirill A. Shutemov
<kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
>
> untagged_addr() removes tags/metadata from the address and brings it to
> the canonical form. The helper is implemented on arm64 and sparc. Both of
> them do untagging based on global rules.
>
> However, Linear Address Masking (LAM) on x86 introduces per-process
> settings for untagging. As a result, untagged_addr() is now only
> suitable for untagging addresses for the current proccess.
>
> The new helper untagged_addr_remote() has to be used when the address
> targets remote process. It requires the mmap lock for target mm to be
> taken.
>
> Export dump_mm() as there's now the first user for it: VFIO can be
> compiled as module and untagged_addr_remote() triggers dump_mm() via
> mmap_assert_locked().
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Tested-by: Alexander Potapenko <glider@xxxxxxxxxx>