[PATCH v5sub1 7/8] arm64: move kernel image to base of vmalloc area
From: Andrey Ryabinin <hidden>
Date: 2016-02-15 14:28:02
On 02/12/2016 07:06 PM, Catalin Marinas wrote:
On Fri, Feb 12, 2016 at 03:38:46PM +0000, Sudeep Holla wrote:quoted
On 12/02/16 15:26, Catalin Marinas wrote:quoted
On Fri, Feb 12, 2016 at 04:17:09PM +0100, Ard Biesheuvel wrote:quoted
On 12 February 2016 at 16:10, Catalin Marinas [off-list ref] wrote:quoted
On Fri, Feb 12, 2016 at 04:02:58PM +0100, Ard Biesheuvel wrote:quoted
On 12 February 2016 at 15:58, Catalin Marinas [off-list ref] wrote:quoted
On Mon, Feb 01, 2016 at 11:54:52AM +0100, Ard Biesheuvel wrote:quoted
This moves the module area to right before the vmalloc area, and moves the kernel image to the base of the vmalloc area. This is an intermediate step towards implementing KASLR, which allows the kernel image to be located anywhere in the vmalloc area. Signed-off-by: Ard Biesheuvel <redacted>This patch is causing lots of KASAN warnings on Juno (interestingly, it doesn't seem to trigger on Seattle, though we only tried for-next/core). I pushed the branch that I'm currently using here: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux for-next/kernmap A typical error (though its place varies based on the config options, kernel layout): BUG: KASAN: stack-out-of-bounds in clockevents_program_event+0x28/0x1b0 at addr ffffffc936257cc8Can you confirm that these are stack accesses? I was having similar errors before, and I ended up creating the kasan zero page patch because it turned out the kasan shadow page in question was aliased and the stack writes were occurring elsewhere.It's possible, we are looking into this. Is there any other patch I miss on the above branch?I don't think so but I will checkCommit 7b1af9795773 ("arm64: kasan: ensure that the KASAN zero page is mapped read-only") was merged in -rc2 while the branch above is based on -rc1. Anyway, I merged it into -rc2 and the errors are similar.Sorry to add more confusion, but I observed similar KASAN warning with latest mainline(v4.5-rc3+, commit c05235d50f68) with below diff.I can reproduce this with UBSAN enabled (log below for the record). So far, we have: KASAN+for-next/kernmap goes wrong KASAN+UBSAN goes wrong Enabled individually, KASAN, UBSAN and for-next/kernmap seem fine. I may have to trim for-next/core down until we figure out where the problem is. BUG: KASAN: stack-out-of-bounds in find_busiest_group+0x164/0x16a0 at addr ffffffc93665bc8c
Can it be related to TLB conflicts, which supposed to be fixed in "arm64: kasan: avoid TLB conflicts" patch from "arm64: mm: rework page table creation" series ?