On Fri, Jan 22, 2016 at 11:16 AM, Laura Abbott <laura@xxxxxxxxxxxx> wrote: > On 1/22/16 9:19 AM, David Brown wrote: >> >> On Tue, Jan 19, 2016 at 10:08:34AM -0800, Kees Cook wrote: >> >>> This introduces __ro_after_init as a way to mark such memory, and uses >>> it on the x86 vDSO to kill an extant kernel exploitation method. Also >>> adds a new kernel parameter to help debug future use and adds an lkdtm >>> test to check the results. >> >> >> I've tested these patches on 32-bit ARM using the provoke-crashes >> test. However, they do require CONFIG_ARM_KERNMEM_PERMS to be enabled >> as well, which does incur additional memory usage. Thanks for testing! >> Do we want to consider making CONFIG_ARM_KERNMEM_PERMS default y for >> security reasons, and just document that memory-constrained systems >> may want to turn it off? >> >> I'll test the arm64 next. >> >> David > > > Kees had previously pushed a patch to do so but it exposed a couple of > underlying issues, mostly with low power paths > (c.f. http://article.gmane.org/gmane.linux.ports.arm.kernel/471199, > http://article.gmane.org/gmane.linux.kernel.mm/143489) > Those will need to be all fixed up before this could be made default. Yeah, I've got a patch waiting to reorganize CONFIG_ARM_KERNMEM_PERMS to look more like arm64 (and x86) and get the feature correctly under CONFIG_DEBUG_RODATA. I made it default=y on v7+. rmk asked me to wait until -rc1 before resubmitting it. http://git.kernel.org/cgit/linux/kernel/git/kees/linux.git/commit/?h=kspp/arm-rodata&id=08bebfd2e7fb8a9f364ced74c356642d64e1f43e and a small improvement too: http://git.kernel.org/cgit/linux/kernel/git/kees/linux.git/commit/?h=kspp/arm-rodata&id=8e16f005ce0d4069aee5502379cff845b4c6f950 -Kees -- Kees Cook Chrome OS & Brillo Security -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html