From: Binbin Wu <binbin.wu@linux.intel.com>
To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>
Cc: x86@kernel.org, Kostya Serebryany <kcc@google.com>,
Andrey Ryabinin <ryabinin.a.a@gmail.com>,
Andrey Konovalov <andreyknvl@gmail.com>,
Alexander Potapenko <glider@google.com>,
Taras Madan <tarasmadan@google.com>,
Dmitry Vyukov <dvyukov@google.com>,
"H . J . Lu" <hjl.tools@gmail.com>,
Andi Kleen <ak@linux.intel.com>,
Rick Edgecombe <rick.p.edgecombe@intel.com>,
Bharata B Rao <bharata@amd.com>,
Jacob Pan <jacob.jun.pan@linux.intel.com>,
Ashok Raj <ashok.raj@intel.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCHv15 00/17] Linear Address Masking enabling
Date: Mon, 13 Mar 2023 11:23:55 +0800 [thread overview]
Message-ID: <66bf51ab-15bd-7988-77c6-8776ac9755d4@linux.intel.com> (raw)
In-Reply-To: <20230123220500.21077-1-kirill.shutemov@linux.intel.com>
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
>
prev parent reply other threads:[~2023-03-13 3:24 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-23 22:04 Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 01/17] x86/mm: Rework address range check in get_user() and put_user() Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 02/17] x86: Allow atomic MM_CONTEXT flags setting Kirill A. Shutemov
2023-02-09 14:06 ` Alexander Potapenko
2023-01-23 22:04 ` [PATCHv15 03/17] x86: CPUID and CR3/CR4 flags for Linear Address Masking Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 04/17] x86/mm: Handle LAM on context switch Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 05/17] mm: Introduce untagged_addr_remote() Kirill A. Shutemov
2023-02-09 14:08 ` Alexander Potapenko
2023-01-23 22:04 ` [PATCHv15 06/17] x86/uaccess: Provide untagged_addr() and remove tags before address check Kirill A. Shutemov
2023-02-09 14:10 ` Alexander Potapenko
2023-02-10 15:18 ` Alexander Potapenko
2023-01-23 22:04 ` [PATCHv15 07/17] x86/mm: Reduce untagged_addr() overhead for systems without LAM Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 08/17] x86/mm: Provide arch_prctl() interface for LAM Kirill A. Shutemov
2023-02-09 14:12 ` Alexander Potapenko
2023-01-23 22:04 ` [PATCHv15 09/17] mm: Expose untagging mask in /proc/$PID/status Kirill A. Shutemov
2023-02-09 14:13 ` Alexander Potapenko
2023-02-10 12:29 ` Alexander Potapenko
2023-01-23 22:04 ` [PATCHv15 10/17] iommu/sva: Replace pasid_valid() helper with mm_valid_pasid() Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 11/17] x86/mm/iommu/sva: Make LAM and SVA mutually exclusive Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 12/17] selftests/x86/lam: Add malloc and tag-bits test cases for linear-address masking Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 13/17] selftests/x86/lam: Add mmap and SYSCALL " Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 14/17] selftests/x86/lam: Add io_uring " Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 15/17] selftests/x86/lam: Add inherit " Kirill A. Shutemov
2023-01-23 22:04 ` [PATCHv15 16/17] selftests/x86/lam: Add ARCH_FORCE_TAGGED_SVA " Kirill A. Shutemov
2023-01-23 22:05 ` [PATCHv15 17/17] selftests/x86/lam: Add test cases for LAM vs thread creation Kirill A. Shutemov
2023-01-24 2:07 ` [PATCHv15 00/17] Linear Address Masking enabling Linus Torvalds
2023-01-24 11:01 ` Kirill A. Shutemov
2023-01-26 14:42 ` Kirill A. Shutemov
2023-01-26 18:31 ` Linus Torvalds
2023-03-13 3:23 ` Binbin Wu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=66bf51ab-15bd-7988-77c6-8776ac9755d4@linux.intel.com \
--to=binbin.wu@linux.intel.com \
--cc=ak@linux.intel.com \
--cc=andreyknvl@gmail.com \
--cc=ashok.raj@intel.com \
--cc=bharata@amd.com \
--cc=dave.hansen@linux.intel.com \
--cc=dvyukov@google.com \
--cc=glider@google.com \
--cc=hjl.tools@gmail.com \
--cc=jacob.jun.pan@linux.intel.com \
--cc=kcc@google.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=peterz@infradead.org \
--cc=rick.p.edgecombe@intel.com \
--cc=ryabinin.a.a@gmail.com \
--cc=tarasmadan@google.com \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox