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: Wed, 14 May 2014 14:32:27 +0200 From: Tomasz Nowicki <tomasz.nowicki@...aro.org> To: Borislav Petkov <bp@...en8.de>, Catalin Marinas <Catalin.Marinas@....com>, Russell King - ARM Linux <linux@....linux.org.uk>, Will Deacon <will.deacon@....com> CC: rjw@...ysocki.net, lenb@...nel.org, tony.luck@...el.com, bp@...e.de, m.chehab@...sung.com, linux-edac@...r.kernel.org, x86@...nel.org, linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org, linaro-acpi@...ts.linaro.org Subject: Re: [PATCH 6/7] acpi, apei, ghes: Make unmapping functionality independent from architecture. On 13.05.2014 22:11, Borislav Petkov wrote: > On Wed, Apr 09, 2014 at 05:14:34PM +0200, Tomasz Nowicki wrote: >> Till now __flush_tlb_one was used for unmapping virtual memory which >> is x86 specific function. Replace it with more generic >> flush_tlb_kernel_range. >> >> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@...aro.org> >> --- >> drivers/acpi/apei/ghes.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c >> index aaf8db3..624878b 100644 >> --- a/drivers/acpi/apei/ghes.c >> +++ b/drivers/acpi/apei/ghes.c >> @@ -185,7 +185,7 @@ static void ghes_iounmap_nmi(void __iomem *vaddr_ptr) >> >> BUG_ON(vaddr != (unsigned long)GHES_IOREMAP_NMI_PAGE(base)); >> unmap_kernel_range_noflush(vaddr, PAGE_SIZE); >> - __flush_tlb_one(vaddr); >> + flush_tlb_kernel_range(vaddr, vaddr + PAGE_SIZE); >> } >> >> static void ghes_iounmap_irq(void __iomem *vaddr_ptr) >> @@ -195,7 +195,7 @@ static void ghes_iounmap_irq(void __iomem *vaddr_ptr) >> >> BUG_ON(vaddr != (unsigned long)GHES_IOREMAP_IRQ_PAGE(base)); >> unmap_kernel_range_noflush(vaddr, PAGE_SIZE); >> - __flush_tlb_one(vaddr); >> + flush_tlb_kernel_range(vaddr, vaddr + PAGE_SIZE); > > flush_tlb_kernel_range() does send an IPI to every core on x86 which is > much more expensive than what __flush_tlb_one does. > > Fairer it would be if you added a __flush_tlb_one() version for arm > which does flush_tlb_kernel_range for you. > Thanks for comment. I am not sure if maintainers will allow me to add sth like __flush_tlb_one() for arm/arm64. Let me ask them directly. Catalin, Russell what do you think? Regards, Tomasz -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists