mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-31 06:14:39 +01:00
Patch series "mm: ptdump: Refactor CONFIG_DEBUG_WX and check_wx_pages debugfs attribute", v2. This series refactors CONFIG_DEBUG_WX for the 5 architectures implementing CONFIG_GENERIC_PTDUMP First rename stuff in ARM which uses similar names while not implementing CONFIG_GENERIC_PTDUMP. Then define a generic version of debug_checkwx() that calls ptdump_check_wx() when CONFIG_DEBUG_WX is set. Call it immediately after calling mark_rodata_ro() instead of calling it at the end of every mark_rodata_ro(). Then implement a debugfs attribute that can be used to trigger a W^X test at anytime and regardless of CONFIG_DEBUG_WX This patch (of 5): CONFIG_DEBUG_WX is a core option defined in mm/Kconfig.debug To avoid any future conflict, rename ARM version into CONFIG_ARM_DEBUG_WX. Link: https://lore.kernel.org/lkml/20200422152656.GF676@willie-the-truck/T/#m802eaf33efd6f8d575939d157301b35ac0d4a64f Link: https://github.com/KSPP/linux/issues/35 Link: https://lkml.kernel.org/r/[email protected] Link: https://lkml.kernel.org/r/fa297aa90caeb61eee2b70c6c5897a2ab58a9562.1706610398.git.christophe.leroy@csgroup.eu Signed-off-by: Christophe Leroy <[email protected]> Cc: Albert Ou <[email protected]> Cc: Alexander Gordeev <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: "Aneesh Kumar K.V (IBM)" <[email protected]> Cc: Borislav Petkov (AMD) <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Christian Borntraeger <[email protected]> Cc: Dave Hansen <[email protected]> Cc: Gerald Schaefer <[email protected]> Cc: Greg KH <[email protected]> Cc: Heiko Carstens <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Kees Cook <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Michael Ellerman <[email protected]> Cc: "Naveen N. Rao" <[email protected]> Cc: Nicholas Piggin <[email protected]> Cc: Palmer Dabbelt <[email protected]> Cc: Paul Walmsley <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Phong Tran <[email protected]> Cc: Russell King <[email protected]> Cc: Steven Price <[email protected]> Cc: Sven Schnelle <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Vasily Gorbik <[email protected]> Cc: Will Deacon <[email protected]> Cc: Alexandre Ghiti <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
42 lines
969 B
C
42 lines
969 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (C) 2014 ARM Ltd. */
|
|
#ifndef __ASM_PTDUMP_H
|
|
#define __ASM_PTDUMP_H
|
|
|
|
#ifdef CONFIG_ARM_PTDUMP_CORE
|
|
|
|
#include <linux/mm_types.h>
|
|
#include <linux/seq_file.h>
|
|
|
|
struct addr_marker {
|
|
unsigned long start_address;
|
|
char *name;
|
|
};
|
|
|
|
struct ptdump_info {
|
|
struct mm_struct *mm;
|
|
const struct addr_marker *markers;
|
|
unsigned long base_addr;
|
|
};
|
|
|
|
void ptdump_walk_pgd(struct seq_file *s, struct ptdump_info *info);
|
|
#ifdef CONFIG_ARM_PTDUMP_DEBUGFS
|
|
#define EFI_RUNTIME_MAP_END SZ_1G
|
|
void ptdump_debugfs_register(struct ptdump_info *info, const char *name);
|
|
#else
|
|
static inline void ptdump_debugfs_register(struct ptdump_info *info,
|
|
const char *name) { }
|
|
#endif /* CONFIG_ARM_PTDUMP_DEBUGFS */
|
|
|
|
void ptdump_check_wx(void);
|
|
|
|
#endif /* CONFIG_ARM_PTDUMP_CORE */
|
|
|
|
#ifdef CONFIG_ARM_DEBUG_WX
|
|
#define arm_debug_checkwx() ptdump_check_wx()
|
|
#else
|
|
#define arm_debug_checkwx() do { } while (0)
|
|
#endif
|
|
|
|
#endif /* __ASM_PTDUMP_H */
|