mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-21 22:55:12 +00:00
arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug
Let all the archs that implement devmem_is_allowed() opt-in to a common definition of CONFIG_STRICT_DEVM in lib/Kconfig.debug. Cc: Kees Cook <keescook@chromium.org> Cc: Russell King <linux@arm.linux.org.uk> Cc: Will Deacon <will.deacon@arm.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> [heiko: drop 'default y' for s390] Acked-by: Ingo Molnar <mingo@redhat.com> Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
9f9499ae8e
commit
21266be9ed
16 changed files with 31 additions and 86 deletions
|
@ -2,6 +2,7 @@ config ARM
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_HAS_ELF_RANDOMIZE
|
select ARCH_HAS_ELF_RANDOMIZE
|
||||||
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
|
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
|
||||||
select ARCH_HAVE_CUSTOM_GPIO_H
|
select ARCH_HAVE_CUSTOM_GPIO_H
|
||||||
|
|
|
@ -15,20 +15,6 @@ config ARM_PTDUMP
|
||||||
kernel.
|
kernel.
|
||||||
If in doubt, say "N"
|
If in doubt, say "N"
|
||||||
|
|
||||||
config STRICT_DEVMEM
|
|
||||||
bool "Filter access to /dev/mem"
|
|
||||||
depends on MMU
|
|
||||||
---help---
|
|
||||||
If this option is disabled, you allow userspace (root) access to all
|
|
||||||
of memory, including kernel and userspace memory. Accidental
|
|
||||||
access to this is obviously disastrous, but specific access can
|
|
||||||
be used by people debugging the kernel.
|
|
||||||
|
|
||||||
If this option is switched on, the /dev/mem file only allows
|
|
||||||
userspace access to memory mapped peripherals.
|
|
||||||
|
|
||||||
If in doubt, say Y.
|
|
||||||
|
|
||||||
# RMK wants arm kernels compiled with frame pointers or stack unwinding.
|
# RMK wants arm kernels compiled with frame pointers or stack unwinding.
|
||||||
# If you know what you are doing and are willing to live without stack
|
# If you know what you are doing and are willing to live without stack
|
||||||
# traces, you can get a slightly smaller kernel by setting this option to
|
# traces, you can get a slightly smaller kernel by setting this option to
|
||||||
|
|
|
@ -3,6 +3,7 @@ config ARM64
|
||||||
select ACPI_CCA_REQUIRED if ACPI
|
select ACPI_CCA_REQUIRED if ACPI
|
||||||
select ACPI_GENERIC_GSI if ACPI
|
select ACPI_GENERIC_GSI if ACPI
|
||||||
select ACPI_REDUCED_HARDWARE_ONLY if ACPI
|
select ACPI_REDUCED_HARDWARE_ONLY if ACPI
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
||||||
select ARCH_HAS_ELF_RANDOMIZE
|
select ARCH_HAS_ELF_RANDOMIZE
|
||||||
select ARCH_HAS_GCOV_PROFILE_ALL
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
||||||
|
|
|
@ -14,20 +14,6 @@ config ARM64_PTDUMP
|
||||||
kernel.
|
kernel.
|
||||||
If in doubt, say "N"
|
If in doubt, say "N"
|
||||||
|
|
||||||
config STRICT_DEVMEM
|
|
||||||
bool "Filter access to /dev/mem"
|
|
||||||
depends on MMU
|
|
||||||
help
|
|
||||||
If this option is disabled, you allow userspace (root) access to all
|
|
||||||
of memory, including kernel and userspace memory. Accidental
|
|
||||||
access to this is obviously disastrous, but specific access can
|
|
||||||
be used by people debugging the kernel.
|
|
||||||
|
|
||||||
If this option is switched on, the /dev/mem file only allows
|
|
||||||
userspace access to memory mapped peripherals.
|
|
||||||
|
|
||||||
If in doubt, say Y.
|
|
||||||
|
|
||||||
config PID_IN_CONTEXTIDR
|
config PID_IN_CONTEXTIDR
|
||||||
bool "Write the current PID to the CONTEXTIDR register"
|
bool "Write the current PID to the CONTEXTIDR register"
|
||||||
help
|
help
|
||||||
|
|
|
@ -10,6 +10,7 @@ config FRV
|
||||||
select HAVE_DEBUG_BUGVERBOSE
|
select HAVE_DEBUG_BUGVERBOSE
|
||||||
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
||||||
select GENERIC_CPU_DEVICES
|
select GENERIC_CPU_DEVICES
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_WANT_IPC_PARSE_VERSION
|
select ARCH_WANT_IPC_PARSE_VERSION
|
||||||
select OLD_SIGSUSPEND3
|
select OLD_SIGSUSPEND3
|
||||||
select OLD_SIGACTION
|
select OLD_SIGACTION
|
||||||
|
|
|
@ -13,6 +13,7 @@ config M32R
|
||||||
select GENERIC_IRQ_PROBE
|
select GENERIC_IRQ_PROBE
|
||||||
select GENERIC_IRQ_SHOW
|
select GENERIC_IRQ_SHOW
|
||||||
select GENERIC_ATOMIC64
|
select GENERIC_ATOMIC64
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_USES_GETTIMEOFFSET
|
select ARCH_USES_GETTIMEOFFSET
|
||||||
select MODULES_USE_ELF_RELA
|
select MODULES_USE_ELF_RELA
|
||||||
select HAVE_DEBUG_STACKOVERFLOW
|
select HAVE_DEBUG_STACKOVERFLOW
|
||||||
|
|
|
@ -159,6 +159,7 @@ config PPC
|
||||||
select EDAC_SUPPORT
|
select EDAC_SUPPORT
|
||||||
select EDAC_ATOMIC_SCRUB
|
select EDAC_ATOMIC_SCRUB
|
||||||
select ARCH_HAS_DMA_SET_COHERENT_MASK
|
select ARCH_HAS_DMA_SET_COHERENT_MASK
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select HAVE_ARCH_SECCOMP_FILTER
|
select HAVE_ARCH_SECCOMP_FILTER
|
||||||
|
|
||||||
config GENERIC_CSUM
|
config GENERIC_CSUM
|
||||||
|
|
|
@ -335,18 +335,6 @@ config PPC_EARLY_DEBUG_CPM_ADDR
|
||||||
platform probing is done, all platforms selected must
|
platform probing is done, all platforms selected must
|
||||||
share the same address.
|
share the same address.
|
||||||
|
|
||||||
config STRICT_DEVMEM
|
|
||||||
def_bool y
|
|
||||||
prompt "Filter access to /dev/mem"
|
|
||||||
help
|
|
||||||
This option restricts access to /dev/mem. If this option is
|
|
||||||
disabled, you allow userspace access to all memory, including
|
|
||||||
kernel and userspace memory. Accidental memory access is likely
|
|
||||||
to be disastrous.
|
|
||||||
Memory access is required for experts who want to debug the kernel.
|
|
||||||
|
|
||||||
If you are unsure, say Y.
|
|
||||||
|
|
||||||
config FAIL_IOMMU
|
config FAIL_IOMMU
|
||||||
bool "Fault-injection capability for IOMMU"
|
bool "Fault-injection capability for IOMMU"
|
||||||
depends on FAULT_INJECTION
|
depends on FAULT_INJECTION
|
||||||
|
|
|
@ -66,6 +66,7 @@ config S390
|
||||||
def_bool y
|
def_bool y
|
||||||
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
||||||
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_HAS_ELF_RANDOMIZE
|
select ARCH_HAS_ELF_RANDOMIZE
|
||||||
select ARCH_HAS_GCOV_PROFILE_ALL
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
||||||
select ARCH_HAS_SG_CHAIN
|
select ARCH_HAS_SG_CHAIN
|
||||||
|
|
|
@ -5,18 +5,6 @@ config TRACE_IRQFLAGS_SUPPORT
|
||||||
|
|
||||||
source "lib/Kconfig.debug"
|
source "lib/Kconfig.debug"
|
||||||
|
|
||||||
config STRICT_DEVMEM
|
|
||||||
def_bool y
|
|
||||||
prompt "Filter access to /dev/mem"
|
|
||||||
---help---
|
|
||||||
This option restricts access to /dev/mem. If this option is
|
|
||||||
disabled, you allow userspace access to all memory, including
|
|
||||||
kernel and userspace memory. Accidental memory access is likely
|
|
||||||
to be disastrous.
|
|
||||||
Memory access is required for experts who want to debug the kernel.
|
|
||||||
|
|
||||||
If you are unsure, say Y.
|
|
||||||
|
|
||||||
config S390_PTDUMP
|
config S390_PTDUMP
|
||||||
bool "Export kernel pagetable layout to userspace via debugfs"
|
bool "Export kernel pagetable layout to userspace via debugfs"
|
||||||
depends on DEBUG_KERNEL
|
depends on DEBUG_KERNEL
|
||||||
|
|
|
@ -19,6 +19,7 @@ config TILE
|
||||||
select VIRT_TO_BUS
|
select VIRT_TO_BUS
|
||||||
select SYS_HYPERVISOR
|
select SYS_HYPERVISOR
|
||||||
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
||||||
select GENERIC_CLOCKEVENTS
|
select GENERIC_CLOCKEVENTS
|
||||||
select MODULES_USE_ELF_RELA
|
select MODULES_USE_ELF_RELA
|
||||||
|
@ -116,9 +117,6 @@ config ARCH_DISCONTIGMEM_DEFAULT
|
||||||
config TRACE_IRQFLAGS_SUPPORT
|
config TRACE_IRQFLAGS_SUPPORT
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
||||||
config STRICT_DEVMEM
|
|
||||||
def_bool y
|
|
||||||
|
|
||||||
# SMP is required for Tilera Linux.
|
# SMP is required for Tilera Linux.
|
||||||
config SMP
|
config SMP
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
config UNICORE32
|
config UNICORE32
|
||||||
def_bool y
|
def_bool y
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_MIGHT_HAVE_PC_PARPORT
|
select ARCH_MIGHT_HAVE_PC_PARPORT
|
||||||
select ARCH_MIGHT_HAVE_PC_SERIO
|
select ARCH_MIGHT_HAVE_PC_SERIO
|
||||||
select HAVE_MEMBLOCK
|
select HAVE_MEMBLOCK
|
||||||
|
|
|
@ -2,20 +2,6 @@ menu "Kernel hacking"
|
||||||
|
|
||||||
source "lib/Kconfig.debug"
|
source "lib/Kconfig.debug"
|
||||||
|
|
||||||
config STRICT_DEVMEM
|
|
||||||
bool "Filter access to /dev/mem"
|
|
||||||
depends on MMU
|
|
||||||
---help---
|
|
||||||
If this option is disabled, you allow userspace (root) access to all
|
|
||||||
of memory, including kernel and userspace memory. Accidental
|
|
||||||
access to this is obviously disastrous, but specific access can
|
|
||||||
be used by people debugging the kernel.
|
|
||||||
|
|
||||||
If this option is switched on, the /dev/mem file only allows
|
|
||||||
userspace access to memory mapped peripherals.
|
|
||||||
|
|
||||||
If in doubt, say Y.
|
|
||||||
|
|
||||||
config EARLY_PRINTK
|
config EARLY_PRINTK
|
||||||
def_bool DEBUG_OCD
|
def_bool DEBUG_OCD
|
||||||
help
|
help
|
||||||
|
|
|
@ -24,6 +24,7 @@ config X86
|
||||||
select ARCH_DISCARD_MEMBLOCK
|
select ARCH_DISCARD_MEMBLOCK
|
||||||
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
|
||||||
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
|
||||||
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
select ARCH_HAS_ELF_RANDOMIZE
|
select ARCH_HAS_ELF_RANDOMIZE
|
||||||
select ARCH_HAS_FAST_MULTIPLIER
|
select ARCH_HAS_FAST_MULTIPLIER
|
||||||
select ARCH_HAS_GCOV_PROFILE_ALL
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
||||||
|
|
|
@ -5,23 +5,6 @@ config TRACE_IRQFLAGS_SUPPORT
|
||||||
|
|
||||||
source "lib/Kconfig.debug"
|
source "lib/Kconfig.debug"
|
||||||
|
|
||||||
config STRICT_DEVMEM
|
|
||||||
bool "Filter access to /dev/mem"
|
|
||||||
---help---
|
|
||||||
If this option is disabled, you allow userspace (root) access to all
|
|
||||||
of memory, including kernel and userspace memory. Accidental
|
|
||||||
access to this is obviously disastrous, but specific access can
|
|
||||||
be used by people debugging the kernel. Note that with PAT support
|
|
||||||
enabled, even in this case there are restrictions on /dev/mem
|
|
||||||
use due to the cache aliasing requirements.
|
|
||||||
|
|
||||||
If this option is switched on, the /dev/mem file only allows
|
|
||||||
userspace access to PCI space and the BIOS code and data regions.
|
|
||||||
This is sufficient for dosemu and X and all common users of
|
|
||||||
/dev/mem.
|
|
||||||
|
|
||||||
If in doubt, say Y.
|
|
||||||
|
|
||||||
config X86_VERBOSE_BOOTUP
|
config X86_VERBOSE_BOOTUP
|
||||||
bool "Enable verbose x86 bootup info messages"
|
bool "Enable verbose x86 bootup info messages"
|
||||||
default y
|
default y
|
||||||
|
|
|
@ -1853,3 +1853,25 @@ source "samples/Kconfig"
|
||||||
|
|
||||||
source "lib/Kconfig.kgdb"
|
source "lib/Kconfig.kgdb"
|
||||||
|
|
||||||
|
config ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
|
bool
|
||||||
|
|
||||||
|
config STRICT_DEVMEM
|
||||||
|
bool "Filter access to /dev/mem"
|
||||||
|
depends on MMU
|
||||||
|
depends on ARCH_HAS_DEVMEM_IS_ALLOWED
|
||||||
|
default y if TILE || PPC
|
||||||
|
---help---
|
||||||
|
If this option is disabled, you allow userspace (root) access to all
|
||||||
|
of memory, including kernel and userspace memory. Accidental
|
||||||
|
access to this is obviously disastrous, but specific access can
|
||||||
|
be used by people debugging the kernel. Note that with PAT support
|
||||||
|
enabled, even in this case there are restrictions on /dev/mem
|
||||||
|
use due to the cache aliasing requirements.
|
||||||
|
|
||||||
|
If this option is switched on, the /dev/mem file only allows
|
||||||
|
userspace access to PCI space and the BIOS code and data regions.
|
||||||
|
This is sufficient for dosemu and X and all common users of
|
||||||
|
/dev/mem.
|
||||||
|
|
||||||
|
If in doubt, say Y.
|
||||||
|
|
Loading…
Add table
Reference in a new issue