aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/Kconfig.debug7
-rw-r--r--arch/x86/mm/pat.c6
-rw-r--r--drivers/char/mem.c2
3 files changed, 8 insertions, 7 deletions
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index ae36bfa814e5..f0cf5d990794 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -5,10 +5,11 @@ config TRACE_IRQFLAGS_SUPPORT
5 5
6source "lib/Kconfig.debug" 6source "lib/Kconfig.debug"
7 7
8config NONPROMISC_DEVMEM 8config PROMISC_DEVMEM
9 bool "Filter access to /dev/mem" 9 bool "Allow unlimited access to /dev/mem"
10 default y
10 help 11 help
11 If this option is left off, you allow userspace access to all 12 If this option is left on, you allow userspace (root) access to all
12 of memory, including kernel and userspace memory. Accidental 13 of memory, including kernel and userspace memory. Accidental
13 access to this is obviously disastrous, but specific access can 14 access to this is obviously disastrous, but specific access can
14 be used by people debugging the kernel. 15 be used by people debugging the kernel.
diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
index d4585077977a..c34dc483839c 100644
--- a/arch/x86/mm/pat.c
+++ b/arch/x86/mm/pat.c
@@ -373,8 +373,8 @@ pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
373 return vma_prot; 373 return vma_prot;
374} 374}
375 375
376#ifdef CONFIG_NONPROMISC_DEVMEM 376#ifndef CONFIG_PROMISC_DEVMEM
377/* This check is done in drivers/char/mem.c in case of NONPROMISC_DEVMEM*/ 377/* This check is done in drivers/char/mem.c in case of !PROMISC_DEVMEM*/
378static inline int range_is_allowed(unsigned long pfn, unsigned long size) 378static inline int range_is_allowed(unsigned long pfn, unsigned long size)
379{ 379{
380 return 1; 380 return 1;
@@ -398,7 +398,7 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size)
398 } 398 }
399 return 1; 399 return 1;
400} 400}
401#endif /* CONFIG_NONPROMISC_DEVMEM */ 401#endif /* CONFIG_PROMISC_DEVMEM */
402 402
403int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn, 403int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
404 unsigned long size, pgprot_t *vma_prot) 404 unsigned long size, pgprot_t *vma_prot)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 070e22e8ea9e..de05775bd687 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -80,7 +80,7 @@ static inline int valid_mmap_phys_addr_range(unsigned long pfn, size_t size)
80} 80}
81#endif 81#endif
82 82
83#ifdef CONFIG_NONPROMISC_DEVMEM 83#ifndef CONFIG_PROMISC_DEVMEM
84static inline int range_is_allowed(unsigned long pfn, unsigned long size) 84static inline int range_is_allowed(unsigned long pfn, unsigned long size)
85{ 85{
86 u64 from = ((u64)pfn) << PAGE_SHIFT; 86 u64 from = ((u64)pfn) << PAGE_SHIFT;