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
| ||
|
Date: Thu, 9 Jul 2020 14:19:24 -0700 From: Palmer Dabbelt <palmer@...belt.com> To: zong.li@...ive.com, linux-riscv@...ts.infradead.org, rppt@...ux.ibm.com Cc: linux@...linux.org.uk, catalin.marinas@....com, will@...nel.org, Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt <palmer@...belt.com>, aou@...s.berkeley.edu, gxt@....edu.cn, Arnd Bergmann <arnd@...db.de>, linus.walleij@...aro.org, akpm@...ux-foundation.org, mchehab+samsung@...nel.org, gregory.0xf0@...il.com, masahiroy@...nel.org, Nick Desaulniers <ndesaulniers@...gle.com>, bgolaszewski@...libre.com, steve@....org, tglx@...utronix.de, keescook@...omium.org, alex@...ti.fr, mcgrof@...nel.org, mark.rutland@....com, james.morse@....com, alex.shi@...ux.alibaba.com, andriy.shevchenko@...ux.intel.com, broonie@...nel.org, rdunlap@...radead.org, davem@...emloft.net, rostedt@...dmis.org, dan.j.williams@...el.com, mhiramat@...nel.org, krzk@...nel.org, zaslonko@...ux.ibm.com, matti.vaittinen@...rohmeurope.com, uwe@...ine-koenig.org, clabbe@...libre.com, changbin.du@...el.com, Greg KH <gregkh@...uxfoundation.org>, paulmck@...nel.org, pmladek@...e.com, brendanhiggins@...gle.com, glider@...gle.com, elver@...gle.com, davidgow@...gle.com, ardb@...nel.org, takahiro.akashi@...aro.org, linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org, linux-arch@...r.kernel.org, kernel-team@...roid.com, Palmer Dabbelt <palmerdabbelt@...gle.com> Subject: [PATCH v2 4/5] arm64: Use the generic devmem_is_allowed() From: Palmer Dabbelt <palmerdabbelt@...gle.com> I recently copied this into lib/ for use by the RISC-V port. [I haven't even build tested this. The lib/ patch is on riscv/for-next, which I'm targeting for 5.9, so this won't work alone. See the cover letter for more details.] Signed-off-by: Palmer Dabbelt <palmerdabbelt@...gle.com> --- arch/arm64/Kconfig | 2 +- arch/arm64/include/asm/io.h | 2 -- arch/arm64/mm/mmap.c | 21 --------------------- 3 files changed, 1 insertion(+), 24 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 66dc41fd49f2..0682672cb244 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -13,7 +13,6 @@ config ARM64 select ARCH_BINFMT_ELF_STATE select ARCH_HAS_DEBUG_VIRTUAL select ARCH_HAS_DEBUG_VM_PGTABLE - select ARCH_HAS_DEVMEM_IS_ALLOWED select ARCH_HAS_DMA_PREP_COHERENT select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI select ARCH_HAS_FAST_MULTIPLIER @@ -110,6 +109,7 @@ config ARM64 select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW_LEVEL + select GENERIC_LIB_DEVMEM_IS_ALLOWED select GENERIC_PCI_IOMAP select GENERIC_PTDUMP select GENERIC_SCHED_CLOCK diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h index ff50dd731852..c53eba1a7fd2 100644 --- a/arch/arm64/include/asm/io.h +++ b/arch/arm64/include/asm/io.h @@ -200,6 +200,4 @@ extern void __iomem *ioremap_cache(phys_addr_t phys_addr, size_t size); extern int valid_phys_addr_range(phys_addr_t addr, size_t size); extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size); -extern int devmem_is_allowed(unsigned long pfn); - #endif /* __ASM_IO_H */ diff --git a/arch/arm64/mm/mmap.c b/arch/arm64/mm/mmap.c index 3028bacbc4e9..07937b49cb88 100644 --- a/arch/arm64/mm/mmap.c +++ b/arch/arm64/mm/mmap.c @@ -47,24 +47,3 @@ int valid_mmap_phys_addr_range(unsigned long pfn, size_t size) { return !(((pfn << PAGE_SHIFT) + size) & ~PHYS_MASK); } - -#ifdef CONFIG_STRICT_DEVMEM - -#include <linux/ioport.h> - -/* - * devmem_is_allowed() checks to see if /dev/mem access to a certain address - * is valid. The argument is a physical page number. We mimic x86 here by - * disallowing access to system RAM as well as device-exclusive MMIO regions. - * This effectively disable read()/write() on /dev/mem. - */ -int devmem_is_allowed(unsigned long pfn) -{ - if (iomem_is_exclusive(pfn << PAGE_SHIFT)) - return 0; - if (!page_is_ram(pfn)) - return 1; - return 0; -} - -#endif -- 2.27.0.383.g050319c2ae-goog
Powered by blists - more mailing lists