Re: KASAN vs. boot-time switching between 4- and 5-level paging
From: Kirill A. Shutemov <hidden>
Date: 2017-07-13 14:15:35
Also in:
linux-arch, lkml
On Thu, Jul 13, 2017 at 04:52:28PM +0300, Kirill A. Shutemov wrote:
On Thu, Jul 13, 2017 at 03:58:29PM +0300, Andrey Ryabinin wrote:quoted
On 07/11/2017 10:05 PM, Kirill A. Shutemov wrote:quoted
quoted
quoted
Can use your Signed-off-by for a [cleaned up version of your] patch?Sure.Another KASAN-releated issue: dumping page tables for KASAN shadow memory region takes unreasonable time due to kasan_zero_p?? mapped there. The patch below helps. Any objections?Well, page tables dump doesn't work at all on 5-level paging. E.g. I've got this nonsense: .... ---[ Kernel Space ]--- 0xffff800000000000-0xffff808000000000 512G pud ---[ Low Kernel Mapping ]--- 0xffff808000000000-0xffff810000000000 512G pud ---[ vmalloc() Area ]--- 0xffff810000000000-0xffff818000000000 512G pud ---[ Vmemmap ]--- 0xffff818000000000-0xffffff0000000000 128512G pud ---[ ESPfix Area ]--- 0xffffff0000000000-0x0000000000000000 1T pud 0x0000000000000000-0x0000000000000000 0E pgd 0x0000000000000000-0x0000000000001000 4K RW PCD GLB NX pte 0x0000000000001000-0x0000000000002000 4K pte 0x0000000000002000-0x0000000000003000 4K ro GLB NX pte 0x0000000000003000-0x0000000000004000 4K pte 0x0000000000004000-0x0000000000007000 12K RW GLB NX pte 0x0000000000007000-0x0000000000008000 4K pte 0x0000000000008000-0x0000000000108000 1M RW GLB NX pte 0x0000000000108000-0x0000000000109000 4K pte 0x0000000000109000-0x0000000000189000 512K RW GLB NX pte 0x0000000000189000-0x000000000018a000 4K pte 0x000000000018a000-0x000000000018e000 16K RW GLB NX pte 0x000000000018e000-0x000000000018f000 4K pte 0x000000000018f000-0x0000000000193000 16K RW GLB NX pte 0x0000000000193000-0x0000000000194000 4K pte ... 304 entries skipped ... ---[ EFI Runtime Services ]--- 0xffffffef00000000-0xffffffff80000000 66G pud ---[ High Kernel Mapping ]--- 0xffffffff80000000-0xffffffffc0000000 1G pud ...Hm. I don't see this: ... [ 0.247532] 0xff9e938000000000-0xff9f000000000000 111104G p4d [ 0.247733] 0xff9f000000000000-0xffff000000000000 24P pgd [ 0.248066] 0xffff000000000000-0xffffff0000000000 255T p4d [ 0.248290] ---[ ESPfix Area ]--- [ 0.248393] 0xffffff0000000000-0xffffff8000000000 512G p4d [ 0.248663] 0xffffff8000000000-0xffffffef00000000 444G pud [ 0.248892] ---[ EFI Runtime Services ]--- [ 0.248996] 0xffffffef00000000-0xfffffffec0000000 63G pud [ 0.249308] 0xfffffffec0000000-0xfffffffefe400000 996M pmd ... Do you have commit "x86/dump_pagetables: Generalize address normalization" in your tree? https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git/commit/?h=la57/boot-switching/v2&id=13327fec85ffe95d9c8a3f57ba174bf5d5c1fb01quoted
As for KASAN, I think it would be better just to make it work faster, the patch below demonstrates the idea.Okay, let me test this.
The patch works for me. The problem is not exclusive to 5-level paging, so could you prepare and push proper patch upstream? -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>