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] [thread-next>] [day] [month] [year] [list]
Message-ID: <4f69c6de-0359-4a20-892b-073b93bd6035@csgroup.eu>
Date: Wed, 26 Feb 2025 13:33:41 +0100
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Anshuman Khandual <anshuman.khandual@....com>, linux-mm@...ck.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
 Mark Rutland <mark.rutland@....com>, kvmarm@...ts.linux.dev,
 linux-arm-kernel@...ts.infradead.org, linux-doc@...r.kernel.org,
 linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
 linux-riscv@...ts.infradead.org, linux-s390@...r.kernel.org,
 Catalin Marinas <catalin.marinas@....com>, Will Deacon <will@...nel.org>,
 Jonathan Corbet <corbet@....net>, Marc Zyngier <maz@...nel.org>,
 Michael Ellerman <mpe@...erman.id.au>, Nicholas Piggin <npiggin@...il.com>,
 Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt
 <palmer@...belt.com>, Heiko Carstens <hca@...ux.ibm.com>,
 Vasily Gorbik <gor@...ux.ibm.com>, Thomas Gleixner <tglx@...utronix.de>,
 Ingo Molnar <mingo@...hat.com>
Subject: Re: [PATCH V3 5/5] mm: Rename GENERIC_PTDUMP and PTDUMP_CORE



Le 26/02/2025 à 13:24, Anshuman Khandual a écrit :
> Platforms subscribe into generic ptdump implementation via GENERIC_PTDUMP.
> But generic ptdump gets enabled via PTDUMP_CORE. These configs combination
> is confusing as they sound very similar and does not differentiate between
> platform's feature subscription and feature enablement for ptdump. Rename
> the configs as ARCH_HAS_PTDUMP and PTDUMP making it more clear and improve
> readability.
> 
> Cc: Catalin Marinas <catalin.marinas@....com>
> Cc: Will Deacon <will@...nel.org>
> Cc: Jonathan Corbet <corbet@....net>
> Cc: Marc Zyngier <maz@...nel.org>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Nicholas Piggin <npiggin@...il.com>
> Cc: Paul Walmsley <paul.walmsley@...ive.com>
> Cc: Palmer Dabbelt <palmer@...belt.com>
> Cc: Heiko Carstens <hca@...ux.ibm.com>
> Cc: Vasily Gorbik <gor@...ux.ibm.com>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Ingo Molnar <mingo@...hat.com>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: linux-arm-kernel@...ts.infradead.org
> Cc: linux-doc@...r.kernel.org
> Cc: linux-kernel@...r.kernel.org
> Cc: kvmarm@...ts.linux.dev
> Cc: linuxppc-dev@...ts.ozlabs.org
> Cc: linux-riscv@...ts.infradead.org
> Cc: linux-s390@...r.kernel.org
> Cc: linux-mm@...ck.org
> Signed-off-by: Anshuman Khandual <anshuman.khandual@....com>

Reviewed-by: Christophe Leroy <christophe.leroy@...roup.eu> (powerpc)

> ---
>   arch/arm64/Kconfig              |  2 +-
>   arch/arm64/include/asm/ptdump.h |  4 ++--
>   arch/arm64/kvm/Kconfig          |  4 ++--
>   arch/arm64/mm/Makefile          |  2 +-
>   arch/powerpc/Kconfig            |  2 +-
>   arch/powerpc/mm/Makefile        |  2 +-
>   arch/riscv/Kconfig              |  2 +-
>   arch/riscv/mm/Makefile          |  2 +-
>   arch/s390/Kconfig               |  2 +-
>   arch/s390/mm/Makefile           |  2 +-
>   arch/x86/Kconfig                |  2 +-
>   arch/x86/Kconfig.debug          |  2 +-
>   arch/x86/mm/Makefile            |  2 +-
>   mm/Kconfig.debug                | 12 ++++++------
>   mm/Makefile                     |  2 +-
>   15 files changed, 22 insertions(+), 22 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 940343beb3d4..5cf688ee01b7 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -41,6 +41,7 @@ config ARM64
>   	select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
>   	select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
>   	select ARCH_HAS_NONLEAF_PMD_YOUNG if ARM64_HAFT
> +	select ARCH_HAS_PTDUMP
>   	select ARCH_HAS_PTE_DEVMAP
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_HW_PTE_YOUNG
> @@ -157,7 +158,6 @@ config ARM64
>   	select GENERIC_IRQ_SHOW_LEVEL
>   	select GENERIC_LIB_DEVMEM_IS_ALLOWED
>   	select GENERIC_PCI_IOMAP
> -	select GENERIC_PTDUMP
>   	select GENERIC_SCHED_CLOCK
>   	select GENERIC_SMP_IDLE_THREAD
>   	select GENERIC_TIME_VSYSCALL
> diff --git a/arch/arm64/include/asm/ptdump.h b/arch/arm64/include/asm/ptdump.h
> index 6cf4aae05219..b2931d1ae0fb 100644
> --- a/arch/arm64/include/asm/ptdump.h
> +++ b/arch/arm64/include/asm/ptdump.h
> @@ -7,7 +7,7 @@
>   
>   #include <linux/ptdump.h>
>   
> -#ifdef CONFIG_PTDUMP_CORE
> +#ifdef CONFIG_PTDUMP
>   
>   #include <linux/mm_types.h>
>   #include <linux/seq_file.h>
> @@ -70,6 +70,6 @@ static inline void ptdump_debugfs_register(struct ptdump_info *info,
>   #else
>   static inline void note_page(struct ptdump_state *pt_st, unsigned long addr,
>   			     int level, u64 val) { }
> -#endif /* CONFIG_PTDUMP_CORE */
> +#endif /* CONFIG_PTDUMP */
>   
>   #endif /* __ASM_PTDUMP_H */
> diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
> index ead632ad01b4..096e45acadb2 100644
> --- a/arch/arm64/kvm/Kconfig
> +++ b/arch/arm64/kvm/Kconfig
> @@ -71,8 +71,8 @@ config PTDUMP_STAGE2_DEBUGFS
>   	depends on KVM
>   	depends on DEBUG_KERNEL
>   	depends on DEBUG_FS
> -	depends on GENERIC_PTDUMP
> -	select PTDUMP_CORE
> +	depends on ARCH_HAS_PTDUMP
> +	select PTDUMP
>   	default n
>   	help
>   	  Say Y here if you want to show the stage-2 kernel pagetables
> diff --git a/arch/arm64/mm/Makefile b/arch/arm64/mm/Makefile
> index fc92170a8f37..c26489cf96cd 100644
> --- a/arch/arm64/mm/Makefile
> +++ b/arch/arm64/mm/Makefile
> @@ -5,7 +5,7 @@ obj-y				:= dma-mapping.o extable.o fault.o init.o \
>   				   context.o proc.o pageattr.o fixmap.o
>   obj-$(CONFIG_ARM64_CONTPTE)	+= contpte.o
>   obj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
> -obj-$(CONFIG_PTDUMP_CORE)	+= ptdump.o
> +obj-$(CONFIG_PTDUMP)		+= ptdump.o
>   obj-$(CONFIG_PTDUMP_DEBUGFS)	+= ptdump_debugfs.o
>   obj-$(CONFIG_TRANS_TABLE)	+= trans_pgd.o
>   obj-$(CONFIG_TRANS_TABLE)	+= trans_pgd-asm.o
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 424f188e62d9..6f1ae41dcf85 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -148,6 +148,7 @@ config PPC
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PMEM_API
>   	select ARCH_HAS_PREEMPT_LAZY
> +	select ARCH_HAS_PTDUMP
>   	select ARCH_HAS_PTE_DEVMAP		if PPC_BOOK3S_64
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_SCALED_CPUTIME		if VIRT_CPU_ACCOUNTING_NATIVE && PPC_BOOK3S_64
> @@ -206,7 +207,6 @@ config PPC
>   	select GENERIC_IRQ_SHOW
>   	select GENERIC_IRQ_SHOW_LEVEL
>   	select GENERIC_PCI_IOMAP		if PCI
> -	select GENERIC_PTDUMP
>   	select GENERIC_SMP_IDLE_THREAD
>   	select GENERIC_TIME_VSYSCALL
>   	select GENERIC_VDSO_TIME_NS
> diff --git a/arch/powerpc/mm/Makefile b/arch/powerpc/mm/Makefile
> index 0fe2f085c05a..8c1582b2987d 100644
> --- a/arch/powerpc/mm/Makefile
> +++ b/arch/powerpc/mm/Makefile
> @@ -15,5 +15,5 @@ obj-$(CONFIG_NUMA) += numa.o
>   obj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
>   obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
>   obj-$(CONFIG_PPC_COPRO_BASE)	+= copro_fault.o
> -obj-$(CONFIG_PTDUMP_CORE)	+= ptdump/
> +obj-$(CONFIG_PTDUMP)		+= ptdump/
>   obj-$(CONFIG_KASAN)		+= kasan/
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 7612c52e9b1e..353cf41d01f4 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -43,6 +43,7 @@ config RISCV
>   	select ARCH_HAS_PMEM_API
>   	select ARCH_HAS_PREEMPT_LAZY
>   	select ARCH_HAS_PREPARE_SYNC_CORE_CMD
> +	select ARCH_HAS_PTDUMP if MMU
>   	select ARCH_HAS_PTE_DEVMAP if 64BIT && MMU
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_SET_DIRECT_MAP if MMU
> @@ -112,7 +113,6 @@ config RISCV
>   	select GENERIC_IRQ_SHOW_LEVEL
>   	select GENERIC_LIB_DEVMEM_IS_ALLOWED
>   	select GENERIC_PCI_IOMAP
> -	select GENERIC_PTDUMP if MMU
>   	select GENERIC_SCHED_CLOCK
>   	select GENERIC_SMP_IDLE_THREAD
>   	select GENERIC_TIME_VSYSCALL if MMU && 64BIT
> diff --git a/arch/riscv/mm/Makefile b/arch/riscv/mm/Makefile
> index cbe4d775ef56..b916a68d324a 100644
> --- a/arch/riscv/mm/Makefile
> +++ b/arch/riscv/mm/Makefile
> @@ -19,7 +19,7 @@ obj-y += context.o
>   obj-y += pmem.o
>   
>   obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
> -obj-$(CONFIG_PTDUMP_CORE) += ptdump.o
> +obj-$(CONFIG_PTDUMP) += ptdump.o
>   obj-$(CONFIG_KASAN)   += kasan_init.o
>   
>   ifdef CONFIG_KASAN
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index 9c9ec08d78c7..dd9dd2f8e673 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -96,6 +96,7 @@ config S390
>   	select ARCH_HAS_MEM_ENCRYPT
>   	select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
>   	select ARCH_HAS_PREEMPT_LAZY
> +	select ARCH_HAS_PTDUMP
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_SCALED_CPUTIME
>   	select ARCH_HAS_SET_DIRECT_MAP
> @@ -163,7 +164,6 @@ config S390
>   	select GENERIC_CPU_VULNERABILITIES
>   	select GENERIC_ENTRY
>   	select GENERIC_GETTIMEOFDAY
> -	select GENERIC_PTDUMP
>   	select GENERIC_SMP_IDLE_THREAD
>   	select GENERIC_TIME_VSYSCALL
>   	select GENERIC_VDSO_TIME_NS
> diff --git a/arch/s390/mm/Makefile b/arch/s390/mm/Makefile
> index f6c2db7a8669..9726b91fe7e4 100644
> --- a/arch/s390/mm/Makefile
> +++ b/arch/s390/mm/Makefile
> @@ -9,6 +9,6 @@ obj-y		+= page-states.o pageattr.o pgtable.o pgalloc.o extable.o
>   obj-$(CONFIG_CMM)		+= cmm.o
>   obj-$(CONFIG_DEBUG_VIRTUAL)	+= physaddr.o
>   obj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
> -obj-$(CONFIG_PTDUMP_CORE)	+= dump_pagetables.o
> +obj-$(CONFIG_PTDUMP)		+= dump_pagetables.o
>   obj-$(CONFIG_PGSTE)		+= gmap.o
>   obj-$(CONFIG_PFAULT)		+= pfault.o
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be2c311f5118..39ecafffc7e3 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -26,6 +26,7 @@ config X86_64
>   	depends on 64BIT
>   	# Options that are inherently 64-bit kernel only:
>   	select ARCH_HAS_GIGANTIC_PAGE
> +	select ARCH_HAS_PTDUMP
>   	select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
>   	select ARCH_SUPPORTS_PER_VMA_LOCK
>   	select ARCH_SUPPORTS_HUGE_PFNMAP if TRANSPARENT_HUGEPAGE
> @@ -174,7 +175,6 @@ config X86
>   	select GENERIC_IRQ_RESERVATION_MODE
>   	select GENERIC_IRQ_SHOW
>   	select GENERIC_PENDING_IRQ		if SMP
> -	select GENERIC_PTDUMP
>   	select GENERIC_SMP_IDLE_THREAD
>   	select GENERIC_TIME_VSYSCALL
>   	select GENERIC_GETTIMEOFDAY
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index 1eb4d23cdaae..c95c3aaadf97 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -59,7 +59,7 @@ config EARLY_PRINTK_USB_XDBC
>   config EFI_PGT_DUMP
>   	bool "Dump the EFI pagetable"
>   	depends on EFI
> -	select PTDUMP_CORE
> +	select PTDUMP
>   	help
>   	  Enable this if you want to dump the EFI page table before
>   	  enabling virtual mode. This can be used to debug miscellaneous
> diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
> index 690fbf48e853..e0c99a8760ca 100644
> --- a/arch/x86/mm/Makefile
> +++ b/arch/x86/mm/Makefile
> @@ -39,7 +39,7 @@ CFLAGS_fault.o := -I $(src)/../include/asm/trace
>   obj-$(CONFIG_X86_32)		+= pgtable_32.o iomap_32.o
>   
>   obj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o
> -obj-$(CONFIG_PTDUMP_CORE)	+= dump_pagetables.o
> +obj-$(CONFIG_PTDUMP)		+= dump_pagetables.o
>   obj-$(CONFIG_PTDUMP_DEBUGFS)	+= debug_pagetables.o
>   
>   obj-$(CONFIG_HIGHMEM)		+= highmem_32.o
> diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug
> index a51a1149909a..32b65073d0cc 100644
> --- a/mm/Kconfig.debug
> +++ b/mm/Kconfig.debug
> @@ -186,9 +186,9 @@ config ARCH_HAS_DEBUG_WX
>   config DEBUG_WX
>   	bool "Warn on W+X mappings at boot"
>   	depends on ARCH_HAS_DEBUG_WX
> -	depends on GENERIC_PTDUMP
> +	depends on ARCH_HAS_PTDUMP
>   	depends on MMU
> -	select PTDUMP_CORE
> +	select PTDUMP
>   	help
>   	  Generate a warning if any W+X mappings are found at boot.
>   
> @@ -213,18 +213,18 @@ config DEBUG_WX
>   
>   	  If in doubt, say "Y".
>   
> -config GENERIC_PTDUMP
> +config ARCH_HAS_PTDUMP
>   	bool
>   
> -config PTDUMP_CORE
> +config PTDUMP
>   	bool
>   
>   config PTDUMP_DEBUGFS
>   	bool "Export kernel pagetable layout to userspace via debugfs"
>   	depends on DEBUG_KERNEL
>   	depends on DEBUG_FS
> -	depends on GENERIC_PTDUMP
> -	select PTDUMP_CORE
> +	depends on ARCH_HAS_PTDUMP
> +	select PTDUMP
>   	help
>   	  Say Y here if you want to show the kernel pagetable layout in a
>   	  debugfs file. This information is only useful for kernel developers
> diff --git a/mm/Makefile b/mm/Makefile
> index 850386a67b3e..26dfecd4d396 100644
> --- a/mm/Makefile
> +++ b/mm/Makefile
> @@ -138,7 +138,7 @@ obj-$(CONFIG_ZONE_DEVICE) += memremap.o
>   obj-$(CONFIG_HMM_MIRROR) += hmm.o
>   obj-$(CONFIG_MEMFD_CREATE) += memfd.o
>   obj-$(CONFIG_MAPPING_DIRTY_HELPERS) += mapping_dirty_helpers.o
> -obj-$(CONFIG_PTDUMP_CORE) += ptdump.o
> +obj-$(CONFIG_PTDUMP) += ptdump.o
>   obj-$(CONFIG_PAGE_REPORTING) += page_reporting.o
>   obj-$(CONFIG_IO_MAPPING) += io-mapping.o
>   obj-$(CONFIG_HAVE_BOOTMEM_INFO_NODE) += bootmem_info.o


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ