Re: [PATCHv15 06/17] x86/uaccess: Provide untagged_addr() and remove tags before address check

From: Alexander Potapenko
Date: Thu Feb 09 2023 - 09:10:54 EST


On Mon, Jan 23, 2023 at 11:05 PM Kirill A. Shutemov
<kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
>
> untagged_addr() is a helper used by the core-mm to strip tag bits and
> get the address to the canonical shape based on rules of the current
> thread. It only handles userspace addresses.
>
> The untagging mask is stored in per-CPU variable and set on context
> switching to the task.
>
> The tags must not be included into check whether it's okay to access the
> userspace address. Strip tags in access_ok().
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Tested-by: Alexander Potapenko <glider@xxxxxxxxxx>