All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Albert Ou <aou@eecs.berkeley.edu>,
	Andy Lutomirski <luto@kernel.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Christoph Lameter <cl@linux.com>,
	"David S. Miller" <davem@davemloft.net>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	David Hildenbrand <david@redhat.com>,
	David Rientjes <rientjes@google.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Len Brown <len.brown@intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Mike Rapoport <rppt@linux.ibm.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paul Mackerras <paulus@samba.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Pavel Machek <pavel@ucw.cz>, Pekka Enberg <penberg@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Vlastimil Babka <vbabka@suse.cz>, Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-pm@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	sparclinux@vger.kernel.org, x86@kernel.org
Subject: Re: [PATCH v6 0/4] arch, mm: improve robustness of direct map manipulation
Date: Mon, 9 Nov 2020 18:47:52 +0200	[thread overview]
Message-ID: <20201109164752.GF301837@kernel.org> (raw)
In-Reply-To: <20201109162415.13764-1-rppt@kernel.org>

Oops, this one has some rebase errors, I'll send v7 soon.
Sorry for the noise.

On Mon, Nov 09, 2020 at 06:24:11PM +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> Hi,
> 
> During recent discussion about KVM protected memory, David raised a concern
> about usage of __kernel_map_pages() outside of DEBUG_PAGEALLOC scope [1].
> 
> Indeed, for architectures that define CONFIG_ARCH_HAS_SET_DIRECT_MAP it is
> possible that __kernel_map_pages() would fail, but since this function is
> void, the failure will go unnoticed.
> 
> Moreover, there's lack of consistency of __kernel_map_pages() semantics
> across architectures as some guard this function with
> #ifdef DEBUG_PAGEALLOC, some refuse to update the direct map if page
> allocation debugging is disabled at run time and some allow modifying the
> direct map regardless of DEBUG_PAGEALLOC settings.
> 
> This set straightens this out by restoring dependency of
> __kernel_map_pages() on DEBUG_PAGEALLOC and updating the call sites
> accordingly. 
> 
> Since currently the only user of __kernel_map_pages() outside
> DEBUG_PAGEALLOC is hibernation, it is updated to make direct map accesses
> there more explicit.
> 
> [1] https://lore.kernel.org/lkml/2759b4bf-e1e3-d006-7d86-78a40348269d@redhat.com
> 
> v6 changes:
> * revert slab changes to avoid redundant check of static key
> 
> v5 changes:
> * use pairs of _map()/_unmap() functions instead of _map(..., int enable) as
>   Vlastimil suggested
> https://lore.kernel.org/lkml/20201108065758.1815-1-rppt@kernel.org
> 
> v4 changes:
> * s/WARN_ON/pr_warn_once/ per David and Kirill
> * rebase on v5.10-rc2
> * add Acked/Reviewed tags
> https://lore.kernel.org/lkml/20201103162057.22916-1-rppt@kernel.org
> 
> v3 changes:
> * update arm64 changes to avoid regression, per Rick's comments
> * fix bisectability
> https://lore.kernel.org/lkml/20201101170815.9795-1-rppt@kernel.org
> 
> v2 changes:
> * Rephrase patch 2 changelog to better describe the change intentions and
> implications
> * Move removal of kernel_map_pages() from patch 1 to patch 2, per David
> https://lore.kernel.org/lkml/20201029161902.19272-1-rppt@kernel.org
> 
> v1:
> https://lore.kernel.org/lkml/20201025101555.3057-1-rppt@kernel.org
> 
> Mike Rapoport (4):
>   mm: introduce debug_pagealloc_{map,unmap}_pages() helpers
>   PM: hibernate: make direct map manipulations more explicit
>   arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC
>   arch, mm: make kernel_page_present() always available
> 
>  arch/Kconfig                        |  3 +++
>  arch/arm64/Kconfig                  |  4 +--
>  arch/arm64/include/asm/cacheflush.h |  1 +
>  arch/arm64/mm/pageattr.c            |  6 +++--
>  arch/powerpc/Kconfig                |  5 +---
>  arch/riscv/Kconfig                  |  4 +--
>  arch/riscv/include/asm/pgtable.h    |  2 --
>  arch/riscv/include/asm/set_memory.h |  1 +
>  arch/riscv/mm/pageattr.c            | 31 ++++++++++++++++++++++
>  arch/s390/Kconfig                   |  4 +--
>  arch/sparc/Kconfig                  |  4 +--
>  arch/x86/Kconfig                    |  4 +--
>  arch/x86/include/asm/set_memory.h   |  1 +
>  arch/x86/mm/pat/set_memory.c        |  4 +--
>  include/linux/mm.h                  | 40 ++++++++++++++---------------
>  include/linux/set_memory.h          |  5 ++++
>  kernel/power/snapshot.c             | 38 +++++++++++++++++++++++++--
>  mm/memory_hotplug.c                 |  3 +--
>  mm/page_alloc.c                     |  6 ++---
>  19 files changed, 113 insertions(+), 53 deletions(-)
> 
> -- 
> 2.28.0
> 

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: David Hildenbrand <david@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mm@kvack.org, Paul Mackerras <paulus@samba.org>,
	Pavel Machek <pavel@ucw.cz>, "H. Peter Anvin" <hpa@zytor.com>,
	sparclinux@vger.kernel.org, Christoph Lameter <cl@linux.com>,
	Will Deacon <will@kernel.org>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, Mike Rapoport <rppt@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Len Brown <len.brown@intel.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Vasily Gorbik <gor@linux.ibm.com>,
	linux-pm@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
	David Rientjes <rientjes@google.com>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org, Pekka Enberg <penberg@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH v6 0/4] arch, mm: improve robustness of direct map manipulation
Date: Mon, 9 Nov 2020 18:47:52 +0200	[thread overview]
Message-ID: <20201109164752.GF301837@kernel.org> (raw)
In-Reply-To: <20201109162415.13764-1-rppt@kernel.org>

Oops, this one has some rebase errors, I'll send v7 soon.
Sorry for the noise.

On Mon, Nov 09, 2020 at 06:24:11PM +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> Hi,
> 
> During recent discussion about KVM protected memory, David raised a concern
> about usage of __kernel_map_pages() outside of DEBUG_PAGEALLOC scope [1].
> 
> Indeed, for architectures that define CONFIG_ARCH_HAS_SET_DIRECT_MAP it is
> possible that __kernel_map_pages() would fail, but since this function is
> void, the failure will go unnoticed.
> 
> Moreover, there's lack of consistency of __kernel_map_pages() semantics
> across architectures as some guard this function with
> #ifdef DEBUG_PAGEALLOC, some refuse to update the direct map if page
> allocation debugging is disabled at run time and some allow modifying the
> direct map regardless of DEBUG_PAGEALLOC settings.
> 
> This set straightens this out by restoring dependency of
> __kernel_map_pages() on DEBUG_PAGEALLOC and updating the call sites
> accordingly. 
> 
> Since currently the only user of __kernel_map_pages() outside
> DEBUG_PAGEALLOC is hibernation, it is updated to make direct map accesses
> there more explicit.
> 
> [1] https://lore.kernel.org/lkml/2759b4bf-e1e3-d006-7d86-78a40348269d@redhat.com
> 
> v6 changes:
> * revert slab changes to avoid redundant check of static key
> 
> v5 changes:
> * use pairs of _map()/_unmap() functions instead of _map(..., int enable) as
>   Vlastimil suggested
> https://lore.kernel.org/lkml/20201108065758.1815-1-rppt@kernel.org
> 
> v4 changes:
> * s/WARN_ON/pr_warn_once/ per David and Kirill
> * rebase on v5.10-rc2
> * add Acked/Reviewed tags
> https://lore.kernel.org/lkml/20201103162057.22916-1-rppt@kernel.org
> 
> v3 changes:
> * update arm64 changes to avoid regression, per Rick's comments
> * fix bisectability
> https://lore.kernel.org/lkml/20201101170815.9795-1-rppt@kernel.org
> 
> v2 changes:
> * Rephrase patch 2 changelog to better describe the change intentions and
> implications
> * Move removal of kernel_map_pages() from patch 1 to patch 2, per David
> https://lore.kernel.org/lkml/20201029161902.19272-1-rppt@kernel.org
> 
> v1:
> https://lore.kernel.org/lkml/20201025101555.3057-1-rppt@kernel.org
> 
> Mike Rapoport (4):
>   mm: introduce debug_pagealloc_{map,unmap}_pages() helpers
>   PM: hibernate: make direct map manipulations more explicit
>   arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC
>   arch, mm: make kernel_page_present() always available
> 
>  arch/Kconfig                        |  3 +++
>  arch/arm64/Kconfig                  |  4 +--
>  arch/arm64/include/asm/cacheflush.h |  1 +
>  arch/arm64/mm/pageattr.c            |  6 +++--
>  arch/powerpc/Kconfig                |  5 +---
>  arch/riscv/Kconfig                  |  4 +--
>  arch/riscv/include/asm/pgtable.h    |  2 --
>  arch/riscv/include/asm/set_memory.h |  1 +
>  arch/riscv/mm/pageattr.c            | 31 ++++++++++++++++++++++
>  arch/s390/Kconfig                   |  4 +--
>  arch/sparc/Kconfig                  |  4 +--
>  arch/x86/Kconfig                    |  4 +--
>  arch/x86/include/asm/set_memory.h   |  1 +
>  arch/x86/mm/pat/set_memory.c        |  4 +--
>  include/linux/mm.h                  | 40 ++++++++++++++---------------
>  include/linux/set_memory.h          |  5 ++++
>  kernel/power/snapshot.c             | 38 +++++++++++++++++++++++++--
>  mm/memory_hotplug.c                 |  3 +--
>  mm/page_alloc.c                     |  6 ++---
>  19 files changed, 113 insertions(+), 53 deletions(-)
> 
> -- 
> 2.28.0
> 

-- 
Sincerely yours,
Mike.

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: David Hildenbrand <david@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mm@kvack.org, Paul Mackerras <paulus@samba.org>,
	Pavel Machek <pavel@ucw.cz>, "H. Peter Anvin" <hpa@zytor.com>,
	sparclinux@vger.kernel.org, Christoph Lameter <cl@linux.com>,
	Will Deacon <will@kernel.org>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	x86@kernel.org, Mike Rapoport <rppt@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Len Brown <len.brown@intel.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Vasily Gorbik <gor@linux.ibm.com>,
	linux-pm@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
	David Rientjes <rientjes@google.com>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org, Pekka Enberg <penberg@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH v6 0/4] arch, mm: improve robustness of direct map manipulation
Date: Mon, 9 Nov 2020 18:47:52 +0200	[thread overview]
Message-ID: <20201109164752.GF301837@kernel.org> (raw)
In-Reply-To: <20201109162415.13764-1-rppt@kernel.org>

Oops, this one has some rebase errors, I'll send v7 soon.
Sorry for the noise.

On Mon, Nov 09, 2020 at 06:24:11PM +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> Hi,
> 
> During recent discussion about KVM protected memory, David raised a concern
> about usage of __kernel_map_pages() outside of DEBUG_PAGEALLOC scope [1].
> 
> Indeed, for architectures that define CONFIG_ARCH_HAS_SET_DIRECT_MAP it is
> possible that __kernel_map_pages() would fail, but since this function is
> void, the failure will go unnoticed.
> 
> Moreover, there's lack of consistency of __kernel_map_pages() semantics
> across architectures as some guard this function with
> #ifdef DEBUG_PAGEALLOC, some refuse to update the direct map if page
> allocation debugging is disabled at run time and some allow modifying the
> direct map regardless of DEBUG_PAGEALLOC settings.
> 
> This set straightens this out by restoring dependency of
> __kernel_map_pages() on DEBUG_PAGEALLOC and updating the call sites
> accordingly. 
> 
> Since currently the only user of __kernel_map_pages() outside
> DEBUG_PAGEALLOC is hibernation, it is updated to make direct map accesses
> there more explicit.
> 
> [1] https://lore.kernel.org/lkml/2759b4bf-e1e3-d006-7d86-78a40348269d@redhat.com
> 
> v6 changes:
> * revert slab changes to avoid redundant check of static key
> 
> v5 changes:
> * use pairs of _map()/_unmap() functions instead of _map(..., int enable) as
>   Vlastimil suggested
> https://lore.kernel.org/lkml/20201108065758.1815-1-rppt@kernel.org
> 
> v4 changes:
> * s/WARN_ON/pr_warn_once/ per David and Kirill
> * rebase on v5.10-rc2
> * add Acked/Reviewed tags
> https://lore.kernel.org/lkml/20201103162057.22916-1-rppt@kernel.org
> 
> v3 changes:
> * update arm64 changes to avoid regression, per Rick's comments
> * fix bisectability
> https://lore.kernel.org/lkml/20201101170815.9795-1-rppt@kernel.org
> 
> v2 changes:
> * Rephrase patch 2 changelog to better describe the change intentions and
> implications
> * Move removal of kernel_map_pages() from patch 1 to patch 2, per David
> https://lore.kernel.org/lkml/20201029161902.19272-1-rppt@kernel.org
> 
> v1:
> https://lore.kernel.org/lkml/20201025101555.3057-1-rppt@kernel.org
> 
> Mike Rapoport (4):
>   mm: introduce debug_pagealloc_{map,unmap}_pages() helpers
>   PM: hibernate: make direct map manipulations more explicit
>   arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC
>   arch, mm: make kernel_page_present() always available
> 
>  arch/Kconfig                        |  3 +++
>  arch/arm64/Kconfig                  |  4 +--
>  arch/arm64/include/asm/cacheflush.h |  1 +
>  arch/arm64/mm/pageattr.c            |  6 +++--
>  arch/powerpc/Kconfig                |  5 +---
>  arch/riscv/Kconfig                  |  4 +--
>  arch/riscv/include/asm/pgtable.h    |  2 --
>  arch/riscv/include/asm/set_memory.h |  1 +
>  arch/riscv/mm/pageattr.c            | 31 ++++++++++++++++++++++
>  arch/s390/Kconfig                   |  4 +--
>  arch/sparc/Kconfig                  |  4 +--
>  arch/x86/Kconfig                    |  4 +--
>  arch/x86/include/asm/set_memory.h   |  1 +
>  arch/x86/mm/pat/set_memory.c        |  4 +--
>  include/linux/mm.h                  | 40 ++++++++++++++---------------
>  include/linux/set_memory.h          |  5 ++++
>  kernel/power/snapshot.c             | 38 +++++++++++++++++++++++++--
>  mm/memory_hotplug.c                 |  3 +--
>  mm/page_alloc.c                     |  6 ++---
>  19 files changed, 113 insertions(+), 53 deletions(-)
> 
> -- 
> 2.28.0
> 

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: David Hildenbrand <david@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mm@kvack.org, Paul Mackerras <paulus@samba.org>,
	Pavel Machek <pavel@ucw.cz>, "H. Peter Anvin" <hpa@zytor.com>,
	sparclinux@vger.kernel.org, Christoph Lameter <cl@linux.com>,
	Will Deacon <will@kernel.org>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, Mike Rapoport <rppt@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Len Brown <len.brown@intel.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Vasily Gorbik <gor@linux.ibm.com>,
	linux-pm@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
	David Rientjes <rientjes@google.com>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org, Pekka Enberg <penberg@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH v6 0/4] arch, mm: improve robustness of direct map manipulation
Date: Mon, 09 Nov 2020 16:47:52 +0000	[thread overview]
Message-ID: <20201109164752.GF301837@kernel.org> (raw)
In-Reply-To: <20201109162415.13764-1-rppt@kernel.org>

Oops, this one has some rebase errors, I'll send v7 soon.
Sorry for the noise.

On Mon, Nov 09, 2020 at 06:24:11PM +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> Hi,
> 
> During recent discussion about KVM protected memory, David raised a concern
> about usage of __kernel_map_pages() outside of DEBUG_PAGEALLOC scope [1].
> 
> Indeed, for architectures that define CONFIG_ARCH_HAS_SET_DIRECT_MAP it is
> possible that __kernel_map_pages() would fail, but since this function is
> void, the failure will go unnoticed.
> 
> Moreover, there's lack of consistency of __kernel_map_pages() semantics
> across architectures as some guard this function with
> #ifdef DEBUG_PAGEALLOC, some refuse to update the direct map if page
> allocation debugging is disabled at run time and some allow modifying the
> direct map regardless of DEBUG_PAGEALLOC settings.
> 
> This set straightens this out by restoring dependency of
> __kernel_map_pages() on DEBUG_PAGEALLOC and updating the call sites
> accordingly. 
> 
> Since currently the only user of __kernel_map_pages() outside
> DEBUG_PAGEALLOC is hibernation, it is updated to make direct map accesses
> there more explicit.
> 
> [1] https://lore.kernel.org/lkml/2759b4bf-e1e3-d006-7d86-78a40348269d@redhat.com
> 
> v6 changes:
> * revert slab changes to avoid redundant check of static key
> 
> v5 changes:
> * use pairs of _map()/_unmap() functions instead of _map(..., int enable) as
>   Vlastimil suggested
> https://lore.kernel.org/lkml/20201108065758.1815-1-rppt@kernel.org
> 
> v4 changes:
> * s/WARN_ON/pr_warn_once/ per David and Kirill
> * rebase on v5.10-rc2
> * add Acked/Reviewed tags
> https://lore.kernel.org/lkml/20201103162057.22916-1-rppt@kernel.org
> 
> v3 changes:
> * update arm64 changes to avoid regression, per Rick's comments
> * fix bisectability
> https://lore.kernel.org/lkml/20201101170815.9795-1-rppt@kernel.org
> 
> v2 changes:
> * Rephrase patch 2 changelog to better describe the change intentions and
> implications
> * Move removal of kernel_map_pages() from patch 1 to patch 2, per David
> https://lore.kernel.org/lkml/20201029161902.19272-1-rppt@kernel.org
> 
> v1:
> https://lore.kernel.org/lkml/20201025101555.3057-1-rppt@kernel.org
> 
> Mike Rapoport (4):
>   mm: introduce debug_pagealloc_{map,unmap}_pages() helpers
>   PM: hibernate: make direct map manipulations more explicit
>   arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC
>   arch, mm: make kernel_page_present() always available
> 
>  arch/Kconfig                        |  3 +++
>  arch/arm64/Kconfig                  |  4 +--
>  arch/arm64/include/asm/cacheflush.h |  1 +
>  arch/arm64/mm/pageattr.c            |  6 +++--
>  arch/powerpc/Kconfig                |  5 +---
>  arch/riscv/Kconfig                  |  4 +--
>  arch/riscv/include/asm/pgtable.h    |  2 --
>  arch/riscv/include/asm/set_memory.h |  1 +
>  arch/riscv/mm/pageattr.c            | 31 ++++++++++++++++++++++
>  arch/s390/Kconfig                   |  4 +--
>  arch/sparc/Kconfig                  |  4 +--
>  arch/x86/Kconfig                    |  4 +--
>  arch/x86/include/asm/set_memory.h   |  1 +
>  arch/x86/mm/pat/set_memory.c        |  4 +--
>  include/linux/mm.h                  | 40 ++++++++++++++---------------
>  include/linux/set_memory.h          |  5 ++++
>  kernel/power/snapshot.c             | 38 +++++++++++++++++++++++++--
>  mm/memory_hotplug.c                 |  3 +--
>  mm/page_alloc.c                     |  6 ++---
>  19 files changed, 113 insertions(+), 53 deletions(-)
> 
> -- 
> 2.28.0
> 

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: David Hildenbrand <david@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mm@kvack.org, Paul Mackerras <paulus@samba.org>,
	Pavel Machek <pavel@ucw.cz>, "H. Peter Anvin" <hpa@zytor.com>,
	sparclinux@vger.kernel.org, Christoph Lameter <cl@linux.com>,
	Will Deacon <will@kernel.org>,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, Mike Rapoport <rppt@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Catalin Marinas <catalin.marinas@arm.com>,
	Len Brown <len.brown@intel.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Vasily Gorbik <gor@linux.ibm.com>,
	linux-pm@vger.kernel.org, Heiko Carstens <hca@linux.ibm.com>,
	David Rientjes <rientjes@google.com>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org, Pekka Enberg <penberg@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH v6 0/4] arch, mm: improve robustness of direct map manipulation
Date: Mon, 9 Nov 2020 18:47:52 +0200	[thread overview]
Message-ID: <20201109164752.GF301837@kernel.org> (raw)
In-Reply-To: <20201109162415.13764-1-rppt@kernel.org>

Oops, this one has some rebase errors, I'll send v7 soon.
Sorry for the noise.

On Mon, Nov 09, 2020 at 06:24:11PM +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> Hi,
> 
> During recent discussion about KVM protected memory, David raised a concern
> about usage of __kernel_map_pages() outside of DEBUG_PAGEALLOC scope [1].
> 
> Indeed, for architectures that define CONFIG_ARCH_HAS_SET_DIRECT_MAP it is
> possible that __kernel_map_pages() would fail, but since this function is
> void, the failure will go unnoticed.
> 
> Moreover, there's lack of consistency of __kernel_map_pages() semantics
> across architectures as some guard this function with
> #ifdef DEBUG_PAGEALLOC, some refuse to update the direct map if page
> allocation debugging is disabled at run time and some allow modifying the
> direct map regardless of DEBUG_PAGEALLOC settings.
> 
> This set straightens this out by restoring dependency of
> __kernel_map_pages() on DEBUG_PAGEALLOC and updating the call sites
> accordingly. 
> 
> Since currently the only user of __kernel_map_pages() outside
> DEBUG_PAGEALLOC is hibernation, it is updated to make direct map accesses
> there more explicit.
> 
> [1] https://lore.kernel.org/lkml/2759b4bf-e1e3-d006-7d86-78a40348269d@redhat.com
> 
> v6 changes:
> * revert slab changes to avoid redundant check of static key
> 
> v5 changes:
> * use pairs of _map()/_unmap() functions instead of _map(..., int enable) as
>   Vlastimil suggested
> https://lore.kernel.org/lkml/20201108065758.1815-1-rppt@kernel.org
> 
> v4 changes:
> * s/WARN_ON/pr_warn_once/ per David and Kirill
> * rebase on v5.10-rc2
> * add Acked/Reviewed tags
> https://lore.kernel.org/lkml/20201103162057.22916-1-rppt@kernel.org
> 
> v3 changes:
> * update arm64 changes to avoid regression, per Rick's comments
> * fix bisectability
> https://lore.kernel.org/lkml/20201101170815.9795-1-rppt@kernel.org
> 
> v2 changes:
> * Rephrase patch 2 changelog to better describe the change intentions and
> implications
> * Move removal of kernel_map_pages() from patch 1 to patch 2, per David
> https://lore.kernel.org/lkml/20201029161902.19272-1-rppt@kernel.org
> 
> v1:
> https://lore.kernel.org/lkml/20201025101555.3057-1-rppt@kernel.org
> 
> Mike Rapoport (4):
>   mm: introduce debug_pagealloc_{map,unmap}_pages() helpers
>   PM: hibernate: make direct map manipulations more explicit
>   arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC
>   arch, mm: make kernel_page_present() always available
> 
>  arch/Kconfig                        |  3 +++
>  arch/arm64/Kconfig                  |  4 +--
>  arch/arm64/include/asm/cacheflush.h |  1 +
>  arch/arm64/mm/pageattr.c            |  6 +++--
>  arch/powerpc/Kconfig                |  5 +---
>  arch/riscv/Kconfig                  |  4 +--
>  arch/riscv/include/asm/pgtable.h    |  2 --
>  arch/riscv/include/asm/set_memory.h |  1 +
>  arch/riscv/mm/pageattr.c            | 31 ++++++++++++++++++++++
>  arch/s390/Kconfig                   |  4 +--
>  arch/sparc/Kconfig                  |  4 +--
>  arch/x86/Kconfig                    |  4 +--
>  arch/x86/include/asm/set_memory.h   |  1 +
>  arch/x86/mm/pat/set_memory.c        |  4 +--
>  include/linux/mm.h                  | 40 ++++++++++++++---------------
>  include/linux/set_memory.h          |  5 ++++
>  kernel/power/snapshot.c             | 38 +++++++++++++++++++++++++--
>  mm/memory_hotplug.c                 |  3 +--
>  mm/page_alloc.c                     |  6 ++---
>  19 files changed, 113 insertions(+), 53 deletions(-)
> 
> -- 
> 2.28.0
> 

-- 
Sincerely yours,
Mike.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-11-09 16:48 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-09 16:24 [PATCH v6 0/4] arch, mm: improve robustness of direct map manipulation Mike Rapoport
2020-11-09 16:24 ` Mike Rapoport
2020-11-09 16:24 ` Mike Rapoport
2020-11-09 16:24 ` Mike Rapoport
2020-11-09 16:24 ` Mike Rapoport
2020-11-09 16:24 ` [PATCH v6 1/4] mm: introduce debug_pagealloc_{map,unmap}_pages() helpers Mike Rapoport
2020-11-09 16:24   ` [PATCH v6 1/4] mm: introduce debug_pagealloc_{map, unmap}_pages() helpers Mike Rapoport
2020-11-09 16:24   ` [PATCH v6 1/4] mm: introduce debug_pagealloc_{map,unmap}_pages() helpers Mike Rapoport
2020-11-09 16:24   ` [PATCH v6 1/4] mm: introduce debug_pagealloc_{map, unmap}_pages() helpers Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24 ` [PATCH v6 2/4] PM: hibernate: make direct map manipulations more explicit Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24 ` [PATCH v6 3/4] arch, mm: restore dependency of __kernel_map_pages() on DEBUG_PAGEALLOC Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24 ` [PATCH v6 4/4] arch, mm: make kernel_page_present() always available Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:24   ` Mike Rapoport
2020-11-09 16:47 ` Mike Rapoport [this message]
2020-11-09 16:47   ` [PATCH v6 0/4] arch, mm: improve robustness of direct map manipulation Mike Rapoport
2020-11-09 16:47   ` Mike Rapoport
2020-11-09 16:47   ` Mike Rapoport
2020-11-09 16:47   ` Mike Rapoport

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=20201109164752.GF301837@kernel.org \
    --to=rppt@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=benh@kernel.crashing.org \
    --cc=borntraeger@de.ibm.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=cl@linux.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=david@redhat.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=hpa@zytor.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kirill@shutemov.name \
    --cc=len.brown@intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=paulus@samba.org \
    --cc=pavel@ucw.cz \
    --cc=penberg@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rick.p.edgecombe@intel.com \
    --cc=rientjes@google.com \
    --cc=rjw@rjwysocki.net \
    --cc=rppt@linux.ibm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vbabka@suse.cz \
    --cc=will@kernel.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 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.