All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.ibm.com>
To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Borislav Petkov <bp@alien8.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Andy Lutomirski <luto@amacapital.net>,
	David Howells <dhowells@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Dave Hansen <dave.hansen@intel.com>,
	Kai Huang <kai.huang@linux.intel.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Alison Schofield <alison.schofield@intel.com>,
	linux-mm@kvack.org, kvm@vger.kernel.org,
	keyrings@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH, RFC 02/62] mm: Add helpers to setup zero page mappings
Date: Wed, 29 May 2019 07:21:10 +0000	[thread overview]
Message-ID: <20190529072109.GB3656@rapoport-lnx> (raw)
In-Reply-To: <20190508144422.13171-3-kirill.shutemov@linux.intel.com>

On Wed, May 08, 2019 at 05:43:22PM +0300, Kirill A. Shutemov wrote:
> When kernel setups an encrypted page mapping, encryption KeyID is

Nit: "when kernel sets up an encrypted..."

> derived from a VMA. KeyID is going to be part of vma->vm_page_prot and
> it will be propagated transparently to page table entry on mk_pte().
> 
> But there is an exception: zero page is never encrypted and its mapping
> must use KeyID-0, regardless VMA's KeyID.
> 
> Introduce helpers that create a page table entry for zero page.
> 
> The generic implementation will be overridden by architecture-specific
> code that takes care about using correct KeyID.
> 
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> ---
>  fs/dax.c                      | 3 +--
>  include/asm-generic/pgtable.h | 8 ++++++++
>  mm/huge_memory.c              | 6 ++----
>  mm/memory.c                   | 3 +--
>  mm/userfaultfd.c              | 3 +--
>  5 files changed, 13 insertions(+), 10 deletions(-)
> 
> diff --git a/fs/dax.c b/fs/dax.c
> index e5e54da1715f..6d609bff53b9 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -1441,8 +1441,7 @@ static vm_fault_t dax_pmd_load_hole(struct xa_state *xas, struct vm_fault *vmf,
>  		pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, pgtable);
>  		mm_inc_nr_ptes(vma->vm_mm);
>  	}
> -	pmd_entry = mk_pmd(zero_page, vmf->vma->vm_page_prot);
> -	pmd_entry = pmd_mkhuge(pmd_entry);
> +	pmd_entry = mk_zero_pmd(zero_page, vmf->vma->vm_page_prot);
>  	set_pmd_at(vmf->vma->vm_mm, pmd_addr, vmf->pmd, pmd_entry);
>  	spin_unlock(ptl);
>  	trace_dax_pmd_load_hole(inode, vmf, zero_page, *entry);
> diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
> index fa782fba51ee..cde8b81f6f2b 100644
> --- a/include/asm-generic/pgtable.h
> +++ b/include/asm-generic/pgtable.h
> @@ -879,8 +879,16 @@ static inline unsigned long my_zero_pfn(unsigned long addr)
>  }
>  #endif
> 
> +#ifndef mk_zero_pte
> +#define mk_zero_pte(addr, prot) pte_mkspecial(pfn_pte(my_zero_pfn(addr), prot))
> +#endif
> +
>  #ifdef CONFIG_MMU
> 
> +#ifndef mk_zero_pmd
> +#define mk_zero_pmd(zero_page, prot) pmd_mkhuge(mk_pmd(zero_page, prot))
> +#endif
> +
>  #ifndef CONFIG_TRANSPARENT_HUGEPAGE
>  static inline int pmd_trans_huge(pmd_t pmd)
>  {
> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> index 165ea46bf149..26c3503824ba 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -675,8 +675,7 @@ static bool set_huge_zero_page(pgtable_t pgtable, struct mm_struct *mm,
>  	pmd_t entry;
>  	if (!pmd_none(*pmd))
>  		return false;
> -	entry = mk_pmd(zero_page, vma->vm_page_prot);
> -	entry = pmd_mkhuge(entry);
> +	entry = mk_zero_pmd(zero_page, vma->vm_page_prot);
>  	if (pgtable)
>  		pgtable_trans_huge_deposit(mm, pmd, pgtable);
>  	set_pmd_at(mm, haddr, pmd, entry);
> @@ -2101,8 +2100,7 @@ static void __split_huge_zero_page_pmd(struct vm_area_struct *vma,
> 
>  	for (i = 0; i < HPAGE_PMD_NR; i++, haddr += PAGE_SIZE) {
>  		pte_t *pte, entry;
> -		entry = pfn_pte(my_zero_pfn(haddr), vma->vm_page_prot);
> -		entry = pte_mkspecial(entry);
> +		entry = mk_zero_pte(haddr, vma->vm_page_prot);
>  		pte = pte_offset_map(&_pmd, haddr);
>  		VM_BUG_ON(!pte_none(*pte));
>  		set_pte_at(mm, haddr, pte, entry);
> diff --git a/mm/memory.c b/mm/memory.c
> index ab650c21bccd..c5e0c87a12b7 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -2927,8 +2927,7 @@ static vm_fault_t do_anonymous_page(struct vm_fault *vmf)
>  	/* Use the zero-page for reads */
>  	if (!(vmf->flags & FAULT_FLAG_WRITE) &&
>  			!mm_forbids_zeropage(vma->vm_mm)) {
> -		entry = pte_mkspecial(pfn_pte(my_zero_pfn(vmf->address),
> -						vma->vm_page_prot));
> +		entry = mk_zero_pte(vmf->address, vma->vm_page_prot);
>  		vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd,
>  				vmf->address, &vmf->ptl);
>  		if (!pte_none(*vmf->pte))
> diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c
> index d59b5a73dfb3..ac1ce3866036 100644
> --- a/mm/userfaultfd.c
> +++ b/mm/userfaultfd.c
> @@ -122,8 +122,7 @@ static int mfill_zeropage_pte(struct mm_struct *dst_mm,
>  	pgoff_t offset, max_off;
>  	struct inode *inode;
> 
> -	_dst_pte = pte_mkspecial(pfn_pte(my_zero_pfn(dst_addr),
> -					 dst_vma->vm_page_prot));
> +	_dst_pte = mk_zero_pte(dst_addr, dst_vma->vm_page_prot);
>  	dst_pte = pte_offset_map_lock(dst_mm, dst_pmd, dst_addr, &ptl);
>  	if (dst_vma->vm_file) {
>  		/* the shmem MAP_PRIVATE case requires checking the i_size */
> -- 
> 2.20.1
> 

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@linux.ibm.com>
To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Borislav Petkov <bp@alien8.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Andy Lutomirski <luto@amacapital.net>,
	David Howells <dhowells@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Dave Hansen <dave.hansen@intel.com>,
	Kai Huang <kai.huang@linux.intel.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Alison Schofield <alison.schofield@intel.com>,
	linux-mm@kvack.org, kvm@vger.kernel.org,
	keyrings@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH, RFC 02/62] mm: Add helpers to setup zero page mappings
Date: Wed, 29 May 2019 10:21:10 +0300	[thread overview]
Message-ID: <20190529072109.GB3656@rapoport-lnx> (raw)
In-Reply-To: <20190508144422.13171-3-kirill.shutemov@linux.intel.com>

On Wed, May 08, 2019 at 05:43:22PM +0300, Kirill A. Shutemov wrote:
> When kernel setups an encrypted page mapping, encryption KeyID is

Nit: "when kernel sets up an encrypted..."

> derived from a VMA. KeyID is going to be part of vma->vm_page_prot and
> it will be propagated transparently to page table entry on mk_pte().
> 
> But there is an exception: zero page is never encrypted and its mapping
> must use KeyID-0, regardless VMA's KeyID.
> 
> Introduce helpers that create a page table entry for zero page.
> 
> The generic implementation will be overridden by architecture-specific
> code that takes care about using correct KeyID.
> 
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> ---
>  fs/dax.c                      | 3 +--
>  include/asm-generic/pgtable.h | 8 ++++++++
>  mm/huge_memory.c              | 6 ++----
>  mm/memory.c                   | 3 +--
>  mm/userfaultfd.c              | 3 +--
>  5 files changed, 13 insertions(+), 10 deletions(-)
> 
> diff --git a/fs/dax.c b/fs/dax.c
> index e5e54da1715f..6d609bff53b9 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -1441,8 +1441,7 @@ static vm_fault_t dax_pmd_load_hole(struct xa_state *xas, struct vm_fault *vmf,
>  		pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, pgtable);
>  		mm_inc_nr_ptes(vma->vm_mm);
>  	}
> -	pmd_entry = mk_pmd(zero_page, vmf->vma->vm_page_prot);
> -	pmd_entry = pmd_mkhuge(pmd_entry);
> +	pmd_entry = mk_zero_pmd(zero_page, vmf->vma->vm_page_prot);
>  	set_pmd_at(vmf->vma->vm_mm, pmd_addr, vmf->pmd, pmd_entry);
>  	spin_unlock(ptl);
>  	trace_dax_pmd_load_hole(inode, vmf, zero_page, *entry);
> diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
> index fa782fba51ee..cde8b81f6f2b 100644
> --- a/include/asm-generic/pgtable.h
> +++ b/include/asm-generic/pgtable.h
> @@ -879,8 +879,16 @@ static inline unsigned long my_zero_pfn(unsigned long addr)
>  }
>  #endif
> 
> +#ifndef mk_zero_pte
> +#define mk_zero_pte(addr, prot) pte_mkspecial(pfn_pte(my_zero_pfn(addr), prot))
> +#endif
> +
>  #ifdef CONFIG_MMU
> 
> +#ifndef mk_zero_pmd
> +#define mk_zero_pmd(zero_page, prot) pmd_mkhuge(mk_pmd(zero_page, prot))
> +#endif
> +
>  #ifndef CONFIG_TRANSPARENT_HUGEPAGE
>  static inline int pmd_trans_huge(pmd_t pmd)
>  {
> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> index 165ea46bf149..26c3503824ba 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -675,8 +675,7 @@ static bool set_huge_zero_page(pgtable_t pgtable, struct mm_struct *mm,
>  	pmd_t entry;
>  	if (!pmd_none(*pmd))
>  		return false;
> -	entry = mk_pmd(zero_page, vma->vm_page_prot);
> -	entry = pmd_mkhuge(entry);
> +	entry = mk_zero_pmd(zero_page, vma->vm_page_prot);
>  	if (pgtable)
>  		pgtable_trans_huge_deposit(mm, pmd, pgtable);
>  	set_pmd_at(mm, haddr, pmd, entry);
> @@ -2101,8 +2100,7 @@ static void __split_huge_zero_page_pmd(struct vm_area_struct *vma,
> 
>  	for (i = 0; i < HPAGE_PMD_NR; i++, haddr += PAGE_SIZE) {
>  		pte_t *pte, entry;
> -		entry = pfn_pte(my_zero_pfn(haddr), vma->vm_page_prot);
> -		entry = pte_mkspecial(entry);
> +		entry = mk_zero_pte(haddr, vma->vm_page_prot);
>  		pte = pte_offset_map(&_pmd, haddr);
>  		VM_BUG_ON(!pte_none(*pte));
>  		set_pte_at(mm, haddr, pte, entry);
> diff --git a/mm/memory.c b/mm/memory.c
> index ab650c21bccd..c5e0c87a12b7 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -2927,8 +2927,7 @@ static vm_fault_t do_anonymous_page(struct vm_fault *vmf)
>  	/* Use the zero-page for reads */
>  	if (!(vmf->flags & FAULT_FLAG_WRITE) &&
>  			!mm_forbids_zeropage(vma->vm_mm)) {
> -		entry = pte_mkspecial(pfn_pte(my_zero_pfn(vmf->address),
> -						vma->vm_page_prot));
> +		entry = mk_zero_pte(vmf->address, vma->vm_page_prot);
>  		vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd,
>  				vmf->address, &vmf->ptl);
>  		if (!pte_none(*vmf->pte))
> diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c
> index d59b5a73dfb3..ac1ce3866036 100644
> --- a/mm/userfaultfd.c
> +++ b/mm/userfaultfd.c
> @@ -122,8 +122,7 @@ static int mfill_zeropage_pte(struct mm_struct *dst_mm,
>  	pgoff_t offset, max_off;
>  	struct inode *inode;
> 
> -	_dst_pte = pte_mkspecial(pfn_pte(my_zero_pfn(dst_addr),
> -					 dst_vma->vm_page_prot));
> +	_dst_pte = mk_zero_pte(dst_addr, dst_vma->vm_page_prot);
>  	dst_pte = pte_offset_map_lock(dst_mm, dst_pmd, dst_addr, &ptl);
>  	if (dst_vma->vm_file) {
>  		/* the shmem MAP_PRIVATE case requires checking the i_size */
> -- 
> 2.20.1
> 

-- 
Sincerely yours,
Mike.


  reply	other threads:[~2019-05-29  7:21 UTC|newest]

Thread overview: 324+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-08 14:43 [PATCH, RFC 00/62] Intel MKTME enabling Kirill A. Shutemov
2019-05-08 14:43 ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 01/62] mm: Do no merge VMAs with different encryption KeyIDs Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 02/62] mm: Add helpers to setup zero page mappings Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-29  7:21   ` Mike Rapoport [this message]
2019-05-29  7:21     ` Mike Rapoport
2019-05-08 14:43 ` [PATCH, RFC 03/62] mm/ksm: Do not merge pages with different KeyIDs Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-10 18:07   ` Dave Hansen
2019-05-10 18:07     ` Dave Hansen
2019-05-13 14:27     ` Kirill A. Shutemov
2019-05-13 14:27       ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 04/62] mm/page_alloc: Unify alloc_hugepage_vma() Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 05/62] mm/page_alloc: Handle allocation for encrypted memory Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-29  7:21   ` Mike Rapoport
2019-05-29  7:21     ` Mike Rapoport
2019-05-29 12:47     ` Kirill A. Shutemov
2019-05-29 12:47       ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 06/62] mm/khugepaged: Handle encrypted pages Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 07/62] x86/mm: Mask out KeyID bits from page table entry pfn Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 08/62] x86/mm: Introduce variables to store number, shift and mask of KeyIDs Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 09/62] x86/mm: Preserve KeyID on pte_modify() and pgprot_modify() Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-06-14  9:15   ` Peter Zijlstra
2019-06-14  9:15     ` Peter Zijlstra
2019-06-14 13:03     ` Kirill A. Shutemov
2019-06-14 13:03       ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 10/62] x86/mm: Detect MKTME early Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 11/62] x86/mm: Add a helper to retrieve KeyID for a page Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 12/62] x86/mm: Add a helper to retrieve KeyID for a VMA Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 13/62] x86/mm: Add hooks to allocate and free encrypted pages Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-06-14  9:34   ` Peter Zijlstra
2019-06-14  9:34     ` Peter Zijlstra
2019-06-14 11:04     ` Peter Zijlstra
2019-06-14 11:04       ` Peter Zijlstra
2019-06-14 13:28       ` Kirill A. Shutemov
2019-06-14 13:28         ` Kirill A. Shutemov
2019-06-14 13:43         ` Peter Zijlstra
2019-06-14 13:43           ` Peter Zijlstra
2019-06-14 22:41           ` Kirill A. Shutemov
2019-06-14 22:41             ` Kirill A. Shutemov
2019-06-17  9:25             ` Peter Zijlstra
2019-06-17  9:25               ` Peter Zijlstra
2019-06-14 13:14     ` Kirill A. Shutemov
2019-06-14 13:14       ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 14/62] x86/mm: Map zero pages into encrypted mappings correctly Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 15/62] x86/mm: Rename CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 16/62] x86/mm: Allow to disable MKTME after enumeration Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 17/62] x86/mm: Calculate direct mapping size Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 18/62] x86/mm: Implement syncing per-KeyID direct mappings Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-06-14  9:51   ` Peter Zijlstra
2019-06-14  9:51     ` Peter Zijlstra
2019-06-14 22:43     ` Kirill A. Shutemov
2019-06-14 22:43       ` Kirill A. Shutemov
2019-06-17  9:27       ` Peter Zijlstra
2019-06-17  9:27         ` Peter Zijlstra
2019-06-17 14:43         ` Kirill A. Shutemov
2019-06-17 14:43           ` Kirill A. Shutemov
2019-06-17 14:51           ` Peter Zijlstra
2019-06-17 14:51             ` Peter Zijlstra
2019-06-17 15:17             ` Kirill A. Shutemov
2019-06-17 15:17               ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 19/62] x86/mm: Handle encrypted memory in page_to_virt() and __pa() Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-06-14 11:10   ` Peter Zijlstra
2019-06-14 11:10     ` Peter Zijlstra
2019-05-08 14:43 ` [PATCH, RFC 20/62] mm/page_ext: Export lookup_page_ext() symbol Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-06-14 11:12   ` Peter Zijlstra
2019-06-14 11:12     ` Peter Zijlstra
2019-06-14 22:44     ` Kirill A. Shutemov
2019-06-14 22:44       ` Kirill A. Shutemov
2019-06-17  9:30       ` Peter Zijlstra
2019-06-17  9:30         ` Peter Zijlstra
2019-06-17 11:01         ` Kai Huang
2019-06-17 11:01           ` Kai Huang
2019-06-17 11:01           ` Kai Huang
2019-06-17 11:13           ` Huang, Kai
2019-06-17 11:13             ` Huang, Kai
2019-05-08 14:43 ` [PATCH, RFC 21/62] mm/rmap: Clear vma->anon_vma on unlink_anon_vmas() Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 22/62] x86/pconfig: Set a valid encryption algorithm for all MKTME commands Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 23/62] keys/mktme: Introduce a Kernel Key Service for MKTME Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 24/62] keys/mktme: Preparse the MKTME key payload Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 25/62] keys/mktme: Instantiate and destroy MKTME keys Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 26/62] keys/mktme: Move the MKTME payload into a cache aligned structure Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-06-14 11:35   ` Peter Zijlstra
2019-06-14 11:35     ` Peter Zijlstra
2019-06-14 17:10     ` Alison Schofield
2019-06-14 17:10       ` Alison Schofield
2019-05-08 14:43 ` [PATCH, RFC 27/62] keys/mktme: Strengthen the entropy of CPU generated MKTME keys Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 28/62] keys/mktme: Set up PCONFIG programming targets for " Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 29/62] keys/mktme: Program MKTME keys into the platform hardware Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 30/62] keys/mktme: Set up a percpu_ref_count for MKTME keys Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 31/62] keys/mktme: Require CAP_SYS_RESOURCE capability " Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 32/62] keys/mktme: Store MKTME payloads if cmdline parameter allows Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 33/62] acpi: Remove __init from acpi table parsing functions Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 34/62] acpi/hmat: Determine existence of an ACPI HMAT Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 35/62] keys/mktme: Require ACPI HMAT to register the MKTME Key Service Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 36/62] acpi/hmat: Evaluate topology presented in ACPI HMAT for MKTME Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 37/62] keys/mktme: Do not allow key creation in unsafe topologies Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 38/62] keys/mktme: Support CPU hotplug for MKTME key service Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:43 ` [PATCH, RFC 39/62] keys/mktme: Find new PCONFIG targets during memory hotplug Kirill A. Shutemov
2019-05-08 14:43   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 40/62] keys/mktme: Program new PCONFIG targets with MKTME keys Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 41/62] keys/mktme: Support memory hotplug for " Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 42/62] mm: Generalize the mprotect implementation to support extensions Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 43/62] syscall/x86: Wire up a system call for MKTME encryption keys Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-29  7:21   ` Mike Rapoport
2019-05-29  7:21     ` Mike Rapoport
2019-05-29 18:12     ` Alison Schofield
2019-05-29 18:12       ` Alison Schofield
2019-05-08 14:44 ` [PATCH, RFC 44/62] x86/mm: Set KeyIDs in encrypted VMAs for MKTME Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-06-14 11:44   ` Peter Zijlstra
2019-06-14 11:44     ` Peter Zijlstra
2019-06-14 17:33     ` Alison Schofield
2019-06-14 17:33       ` Alison Schofield
2019-06-14 18:26       ` Dave Hansen
2019-06-14 18:26         ` Dave Hansen
2019-06-14 18:46         ` Alison Schofield
2019-06-14 18:46           ` Alison Schofield
2019-06-14 19:11           ` Dave Hansen
2019-06-14 19:11             ` Dave Hansen
2019-06-17  9:10             ` Peter Zijlstra
2019-06-17  9:10               ` Peter Zijlstra
2019-05-08 14:44 ` [PATCH, RFC 45/62] mm: Add the encrypt_mprotect() system call " Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-06-14 11:47   ` Peter Zijlstra
2019-06-14 11:47     ` Peter Zijlstra
2019-06-14 17:35     ` Alison Schofield
2019-06-14 17:35       ` Alison Schofield
2019-06-14 11:51   ` Peter Zijlstra
2019-06-14 11:51     ` Peter Zijlstra
2019-06-15  0:32     ` Alison Schofield
2019-06-15  0:32       ` Alison Schofield
2019-06-17  9:08       ` Peter Zijlstra
2019-06-17  9:08         ` Peter Zijlstra
2019-06-17 15:07   ` Andy Lutomirski
2019-06-17 15:07     ` Andy Lutomirski
2019-06-17 15:07     ` Andy Lutomirski
2019-06-17 15:28     ` Dave Hansen
2019-06-17 15:28       ` Dave Hansen
2019-06-17 15:46       ` Andy Lutomirski
2019-06-17 15:46         ` Andy Lutomirski
2019-06-17 15:46         ` Andy Lutomirski
2019-06-17 18:27         ` Dave Hansen
2019-06-17 18:27           ` Dave Hansen
2019-06-17 19:12           ` Andy Lutomirski
2019-06-17 19:12             ` Andy Lutomirski
2019-06-17 19:12             ` Andy Lutomirski
2019-06-17 21:36             ` Dave Hansen
2019-06-17 21:36               ` Dave Hansen
2019-06-18  0:48               ` Kai Huang
2019-06-18  0:48                 ` Kai Huang
2019-06-18  0:48                 ` Kai Huang
2019-06-18  1:50                 ` Andy Lutomirski
2019-06-18  1:50                   ` Andy Lutomirski
2019-06-18  1:50                   ` Andy Lutomirski
2019-06-18  2:11                   ` Kai Huang
2019-06-18  2:11                     ` Kai Huang
2019-06-18  2:11                     ` Kai Huang
2019-06-18  4:24                     ` Andy Lutomirski
2019-06-18  4:24                       ` Andy Lutomirski
2019-06-18  4:24                       ` Andy Lutomirski
2019-06-18 14:19                   ` Dave Hansen
2019-06-18 14:19                     ` Dave Hansen
2019-06-18  0:05             ` Kai Huang
2019-06-18  0:05               ` Kai Huang
2019-06-18  0:05               ` Kai Huang
2019-06-18  0:15               ` Andy Lutomirski
2019-06-18  0:15                 ` Andy Lutomirski
2019-06-18  0:15                 ` Andy Lutomirski
2019-06-18  1:35                 ` Kai Huang
2019-06-18  1:35                   ` Kai Huang
2019-06-18  1:35                   ` Kai Huang
2019-06-18  1:43                   ` Andy Lutomirski
2019-06-18  1:43                     ` Andy Lutomirski
2019-06-18  1:43                     ` Andy Lutomirski
2019-06-18  2:23                     ` Kai Huang
2019-06-18  2:23                       ` Kai Huang
2019-06-18  2:23                       ` Kai Huang
2019-06-18  9:12                       ` Peter Zijlstra
2019-06-18  9:12                         ` Peter Zijlstra
2019-06-18 14:09                         ` Dave Hansen
2019-06-18 14:09                           ` Dave Hansen
2019-06-18 16:15                           ` Kirill A. Shutemov
2019-06-18 16:15                             ` Kirill A. Shutemov
2019-06-18 16:22                             ` Dave Hansen
2019-06-18 16:22                               ` Dave Hansen
2019-06-18 16:36                               ` Andy Lutomirski
2019-06-18 16:36                                 ` Andy Lutomirski
2019-06-18 16:48                                 ` Dave Hansen
2019-06-18 16:48                                   ` Dave Hansen
2019-06-18 14:13                 ` Dave Hansen
2019-06-18 14:13                   ` Dave Hansen
2019-06-17 23:59           ` Kai Huang
2019-06-17 23:59             ` Kai Huang
2019-06-17 23:59             ` Kai Huang
2019-06-18  1:34             ` Lendacky, Thomas
2019-06-18  1:34               ` Lendacky, Thomas
2019-06-18  1:40               ` Andy Lutomirski
2019-06-18  1:40                 ` Andy Lutomirski
2019-06-18  1:40                 ` Andy Lutomirski
2019-06-18  2:02                 ` Lendacky, Thomas
2019-06-18  2:02                   ` Lendacky, Thomas
2019-06-18  4:19                 ` Andy Lutomirski
2019-06-18  4:19                   ` Andy Lutomirski
2019-06-18  4:19                   ` Andy Lutomirski
2019-05-08 14:44 ` [PATCH, RFC 46/62] x86/mm: Keep reference counts on encrypted VMAs " Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-06-14 11:54   ` Peter Zijlstra
2019-06-14 11:54     ` Peter Zijlstra
2019-06-14 18:39     ` Alison Schofield
2019-06-14 18:39       ` Alison Schofield
2019-05-08 14:44 ` [PATCH, RFC 47/62] mm: Restrict MKTME memory encryption to anonymous VMAs Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-06-14 11:55   ` Peter Zijlstra
2019-06-14 11:55     ` Peter Zijlstra
2019-06-15  0:07     ` Alison Schofield
2019-06-15  0:07       ` Alison Schofield
2019-05-08 14:44 ` [PATCH, RFC 48/62] selftests/x86/mktme: Test the MKTME APIs Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 17:09   ` Alison Schofield
2019-05-08 17:09     ` Alison Schofield
2019-05-08 14:44 ` [PATCH, RFC 49/62] mm, x86: export several MKTME variables Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-06-14 11:56   ` Peter Zijlstra
2019-06-14 11:56     ` Peter Zijlstra
2019-06-17  3:14     ` Kai Huang
2019-06-17  3:14       ` Kai Huang
2019-06-17  3:14       ` Kai Huang
2019-06-17  7:46       ` Peter Zijlstra
2019-06-17  7:46         ` Peter Zijlstra
2019-06-17  8:39         ` Kai Huang
2019-06-17  8:39           ` Kai Huang
2019-06-17  8:39           ` Kai Huang
2019-06-17 11:25           ` Kirill A. Shutemov
2019-06-17 11:25             ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 50/62] kvm, x86, mmu: setup MKTME keyID to spte for given PFN Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 51/62] iommu/vt-d: Support MKTME in DMA remapping Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-06-14 12:04   ` Peter Zijlstra
2019-06-14 12:04     ` Peter Zijlstra
2019-05-08 14:44 ` [PATCH, RFC 52/62] x86/mm: introduce common code for mem encryption Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 16:58   ` Christoph Hellwig
2019-05-08 16:58     ` Christoph Hellwig
2019-05-08 20:52     ` Jacob Pan
2019-05-08 20:52       ` Jacob Pan
2019-05-08 21:21       ` Kirill A. Shutemov
2019-05-08 21:21         ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 53/62] x86/mm: Use common code for DMA memory encryption Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 54/62] x86/mm: Disable MKTME on incompatible platform configurations Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 55/62] x86/mm: Disable MKTME if not all system memory supports encryption Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 56/62] x86: Introduce CONFIG_X86_INTEL_MKTME Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 57/62] x86/mktme: Overview of Multi-Key Total Memory Encryption Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-29  7:21   ` Mike Rapoport
2019-05-29  7:21     ` Mike Rapoport
2019-05-29 18:13     ` Alison Schofield
2019-05-29 18:13       ` Alison Schofield
2019-07-14 18:16   ` Randy Dunlap
2019-07-14 18:16     ` Randy Dunlap
2019-07-15  9:02     ` Kirill A. Shutemov
2019-07-15  9:02       ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 58/62] x86/mktme: Document the MKTME provided security mitigations Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 59/62] x86/mktme: Document the MKTME kernel configuration requirements Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 60/62] x86/mktme: Document the MKTME Key Service API Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 61/62] x86/mktme: Document the MKTME API for anonymous memory encryption Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-08 14:44 ` [PATCH, RFC 62/62] x86/mktme: Demonstration program using the MKTME APIs Kirill A. Shutemov
2019-05-08 14:44   ` Kirill A. Shutemov
2019-05-29  7:30 ` [PATCH, RFC 00/62] Intel MKTME enabling Mike Rapoport
2019-05-29  7:30   ` Mike Rapoport
2019-05-29 18:20   ` Alison Schofield
2019-05-29 18:20     ` Alison Schofield
2019-06-14 12:15 ` Peter Zijlstra
2019-06-14 12:15   ` Peter Zijlstra

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=20190529072109.GB3656@rapoport-lnx \
    --to=rppt@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=alison.schofield@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@intel.com \
    --cc=dhowells@redhat.com \
    --cc=hpa@zytor.com \
    --cc=jacob.jun.pan@linux.intel.com \
    --cc=kai.huang@linux.intel.com \
    --cc=keescook@chromium.org \
    --cc=keyrings@vger.kernel.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.