lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 13 Mar 2023 11:23:55 +0800
From:   Binbin Wu <binbin.wu@...ux.intel.com>
To:     "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
        Dave Hansen <dave.hansen@...ux.intel.com>,
        Andy Lutomirski <luto@...nel.org>,
        Peter Zijlstra <peterz@...radead.org>
Cc:     x86@...nel.org, Kostya Serebryany <kcc@...gle.com>,
        Andrey Ryabinin <ryabinin.a.a@...il.com>,
        Andrey Konovalov <andreyknvl@...il.com>,
        Alexander Potapenko <glider@...gle.com>,
        Taras Madan <tarasmadan@...gle.com>,
        Dmitry Vyukov <dvyukov@...gle.com>,
        "H . J . Lu" <hjl.tools@...il.com>,
        Andi Kleen <ak@...ux.intel.com>,
        Rick Edgecombe <rick.p.edgecombe@...el.com>,
        Bharata B Rao <bharata@....com>,
        Jacob Pan <jacob.jun.pan@...ux.intel.com>,
        Ashok Raj <ashok.raj@...el.com>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCHv15 00/17] Linear Address Masking enabling


On 1/24/2023 6:04 AM, Kirill A. Shutemov wrote:
> Linear Address Masking[1] (LAM) modifies the checking that is applied to
> 64-bit linear addresses, allowing software to use of the untranslated
> address bits for metadata.
>
> The capability can be used for efficient address sanitizers (ASAN)
> implementation and for optimizations in JITs and virtual machines.
>
> The patchset brings support for LAM for userspace addresses. Only LAM_U57 at
> this time.
>
> Please review and consider applying.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git lam
>
...
>
> [1] ISE, Chapter 10. https://cdrdv2.intel.com/v1/dl/getContent/671368

It is Chapter 7. Or maybe use the name of the chapter instead.


> Kirill A. Shutemov (12):
>    x86/mm: Rework address range check in get_user() and put_user()
>    x86: Allow atomic MM_CONTEXT flags setting
>    x86: CPUID and CR3/CR4 flags for Linear Address Masking
>    x86/mm: Handle LAM on context switch
>    mm: Introduce untagged_addr_remote()
>    x86/uaccess: Provide untagged_addr() and remove tags before address
>      check
>    x86/mm: Reduce untagged_addr() overhead for systems without LAM
>    x86/mm: Provide arch_prctl() interface for LAM
>    mm: Expose untagging mask in /proc/$PID/status
>    iommu/sva: Replace pasid_valid() helper with mm_valid_pasid()
>    x86/mm/iommu/sva: Make LAM and SVA mutually exclusive
>    selftests/x86/lam: Add test cases for LAM vs thread creation
>
> Weihong Zhang (5):
>    selftests/x86/lam: Add malloc and tag-bits test cases for
>      linear-address masking
>    selftests/x86/lam: Add mmap and SYSCALL test cases for linear-address
>      masking
>    selftests/x86/lam: Add io_uring test cases for linear-address masking
>    selftests/x86/lam: Add inherit test cases for linear-address masking
>    selftests/x86/lam: Add ARCH_FORCE_TAGGED_SVA test cases for
>      linear-address masking
>
>   arch/arm64/include/asm/mmu_context.h        |    6 +
>   arch/sparc/include/asm/mmu_context_64.h     |    6 +
>   arch/sparc/include/asm/uaccess_64.h         |    2 +
>   arch/x86/Kconfig                            |   11 +
>   arch/x86/entry/vsyscall/vsyscall_64.c       |    2 +-
>   arch/x86/include/asm/cpufeatures.h          |    1 +
>   arch/x86/include/asm/disabled-features.h    |    8 +-
>   arch/x86/include/asm/mmu.h                  |   18 +-
>   arch/x86/include/asm/mmu_context.h          |   49 +-
>   arch/x86/include/asm/processor-flags.h      |    2 +
>   arch/x86/include/asm/tlbflush.h             |   48 +-
>   arch/x86/include/asm/uaccess.h              |   58 +-
>   arch/x86/include/uapi/asm/prctl.h           |    5 +
>   arch/x86/include/uapi/asm/processor-flags.h |    6 +
>   arch/x86/kernel/process.c                   |    6 +
>   arch/x86/kernel/process_64.c                |   66 +-
>   arch/x86/kernel/traps.c                     |    6 +-
>   arch/x86/lib/getuser.S                      |   83 +-
>   arch/x86/lib/putuser.S                      |   54 +-
>   arch/x86/mm/init.c                          |    5 +
>   arch/x86/mm/tlb.c                           |   53 +-
>   drivers/iommu/iommu-sva.c                   |    8 +-
>   drivers/vfio/vfio_iommu_type1.c             |    2 +-
>   fs/proc/array.c                             |    6 +
>   fs/proc/task_mmu.c                          |    9 +-
>   include/linux/ioasid.h                      |    9 -
>   include/linux/mm.h                          |   11 -
>   include/linux/mmu_context.h                 |   14 +
>   include/linux/sched/mm.h                    |    8 +-
>   include/linux/uaccess.h                     |   22 +
>   mm/debug.c                                  |    1 +
>   mm/gup.c                                    |    4 +-
>   mm/madvise.c                                |    5 +-
>   mm/migrate.c                                |   11 +-
>   tools/testing/selftests/x86/Makefile        |    2 +-
>   tools/testing/selftests/x86/lam.c           | 1241 +++++++++++++++++++
>   36 files changed, 1699 insertions(+), 149 deletions(-)
>   create mode 100644 tools/testing/selftests/x86/lam.c
>
> --
> 2.39.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ