RW and executable hole in page tables on x86_64

From: Kees Cook
Date: Fri Oct 25 2013 - 09:35:15 EST


Hi,

I've noticed there's a chunk of kernel memory still marked RW and x. See
0xffffffff82956000 below...

---[ High Kernel Mapping ]---
0xffffffff80000000-0xffffffff81000000 16M pmd
0xffffffff81000000-0xffffffff81a00000 10M ro PSE GLB x pmd
0xffffffff81a00000-0xffffffff81e00000 4M ro PSE GLB NX pmd
0xffffffff81e00000-0xffffffff82200000 4M RW GLB NX pte
0xffffffff82200000-0xffffffff82800000 6M RW PSE GLB NX pmd
0xffffffff82800000-0xffffffff82956000 1368K RW GLB NX pte
0xffffffff82956000-0xffffffff82a00000 680K RW GLB x pte
0xffffffff82a00000-0xffffffffa0000000 470M pmd

HPA looked at it for a bit, but it wasn't obvious what was going on. It's
after the end of bss. I do note that the two adjacent regions add up to
2MiB. Is this some kind of leftover mapping? What is this region? Is there
a sensible place to clean it up?

Thanks,

-Kees

--
Kees Cook @outflux.net
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/