Subject: devmem, x86: fix rename of CONFIG_NONPROMISC_DEVMEM
From: Arjan van de Ven <arjan@infradead.org> Date: Sat, 19 Jul 2008 15:47:17 -0700 CONFIG_NONPROMISC_DEVMEM was a rather confusing name - but renaming it to CONFIG_PROMISC_DEVMEM causes problems on architectures that do not support this feature; this patch renames it to CONFIG_STRICT_DEVMEM, so that architectures can opt-in into it. ( the polarity of the option is still the same as it was originally; it needs to be for now to not break architectures that don't have the infastructure yet to support this feature) Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Cc: "V.Radhakrishnan" <rk@atr-labs.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> ---hifive-unleashed-5.1
parent
723edb5060
commit
d092633bff
|
@ -5,14 +5,15 @@ config TRACE_IRQFLAGS_SUPPORT
|
||||||
|
|
||||||
source "lib/Kconfig.debug"
|
source "lib/Kconfig.debug"
|
||||||
|
|
||||||
config PROMISC_DEVMEM
|
config STRICT_DEVMEM
|
||||||
bool "Allow unlimited access to /dev/mem"
|
bool "Filter access to /dev/mem"
|
||||||
default y
|
|
||||||
help
|
help
|
||||||
If this option is left on, you allow userspace (root) access to all
|
If this option is left on, you allow userspace (root) access to all
|
||||||
of memory, including kernel and userspace memory. Accidental
|
of memory, including kernel and userspace memory. Accidental
|
||||||
access to this is obviously disastrous, but specific access can
|
access to this is obviously disastrous, but specific access can
|
||||||
be used by people debugging the kernel.
|
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
|
If this option is switched on, the /dev/mem file only allows
|
||||||
userspace access to PCI space and the BIOS code and data regions.
|
userspace access to PCI space and the BIOS code and data regions.
|
||||||
|
|
|
@ -2047,7 +2047,7 @@ CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
|
||||||
# CONFIG_SAMPLES is not set
|
# CONFIG_SAMPLES is not set
|
||||||
# CONFIG_KGDB is not set
|
# CONFIG_KGDB is not set
|
||||||
CONFIG_HAVE_ARCH_KGDB=y
|
CONFIG_HAVE_ARCH_KGDB=y
|
||||||
# CONFIG_NONPROMISC_DEVMEM is not set
|
# CONFIG_STRICT_DEVMEM is not set
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||||
CONFIG_DEBUG_STACK_USAGE=y
|
CONFIG_DEBUG_STACK_USAGE=y
|
||||||
|
|
|
@ -2012,7 +2012,7 @@ CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
|
||||||
# CONFIG_SAMPLES is not set
|
# CONFIG_SAMPLES is not set
|
||||||
# CONFIG_KGDB is not set
|
# CONFIG_KGDB is not set
|
||||||
CONFIG_HAVE_ARCH_KGDB=y
|
CONFIG_HAVE_ARCH_KGDB=y
|
||||||
# CONFIG_NONPROMISC_DEVMEM is not set
|
# CONFIG_STRICT_DEVMEM is not set
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||||
CONFIG_DEBUG_STACK_USAGE=y
|
CONFIG_DEBUG_STACK_USAGE=y
|
||||||
|
|
|
@ -373,8 +373,8 @@ pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||||
return vma_prot;
|
return vma_prot;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_PROMISC_DEVMEM
|
#ifdef CONFIG_STRICT_DEVMEM
|
||||||
/* This check is done in drivers/char/mem.c in case of !PROMISC_DEVMEM*/
|
/* This check is done in drivers/char/mem.c in case of STRICT_DEVMEM*/
|
||||||
static inline int range_is_allowed(unsigned long pfn, unsigned long size)
|
static inline int range_is_allowed(unsigned long pfn, unsigned long size)
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -398,7 +398,7 @@ static inline int range_is_allowed(unsigned long pfn, unsigned long size)
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PROMISC_DEVMEM */
|
#endif /* CONFIG_STRICT_DEVMEM */
|
||||||
|
|
||||||
int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
|
int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
|
||||||
unsigned long size, pgprot_t *vma_prot)
|
unsigned long size, pgprot_t *vma_prot)
|
||||||
|
|
|
@ -80,7 +80,7 @@ static inline int valid_mmap_phys_addr_range(unsigned long pfn, size_t size)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_PROMISC_DEVMEM
|
#ifdef CONFIG_STRICT_DEVMEM
|
||||||
static inline int range_is_allowed(unsigned long pfn, unsigned long size)
|
static inline int range_is_allowed(unsigned long pfn, unsigned long size)
|
||||||
{
|
{
|
||||||
u64 from = ((u64)pfn) << PAGE_SHIFT;
|
u64 from = ((u64)pfn) << PAGE_SHIFT;
|
||||||
|
|
Loading…
Reference in New Issue