Thread (54 messages) 54 messages, 12 authors, 2017-07-24

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-mm, 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=13327fec85ffe95d9c8a3f57ba174bf5d5c1fb01
quoted
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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help