From mboxrd@z Thu Jan 1 00:00:00 1970 From: aryabinin@virtuozzo.com (Andrey Ryabinin) Date: Mon, 15 Feb 2016 17:28:02 +0300 Subject: [PATCH v5sub1 7/8] arm64: move kernel image to base of vmalloc area In-Reply-To: <20160212160652.GL31665@e104818-lin.cambridge.arm.com> References: <1454324093-15998-1-git-send-email-ard.biesheuvel@linaro.org> <1454324093-15998-8-git-send-email-ard.biesheuvel@linaro.org> <20160212145844.GI31665@e104818-lin.cambridge.arm.com> <20160212151006.GJ31665@e104818-lin.cambridge.arm.com> <20160212152641.GK31665@e104818-lin.cambridge.arm.com> <56BDFC86.5010705@arm.com> <20160212160652.GL31665@e104818-lin.cambridge.arm.com> Message-ID: <56C1E072.2090909@virtuozzo.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 02/12/2016 07:06 PM, Catalin Marinas wrote: > On Fri, Feb 12, 2016 at 03:38:46PM +0000, Sudeep Holla wrote: >> >> On 12/02/16 15:26, Catalin Marinas wrote: >>> On Fri, Feb 12, 2016 at 04:17:09PM +0100, Ard Biesheuvel wrote: >>>> On 12 February 2016 at 16:10, Catalin Marinas wrote: >>>>> On Fri, Feb 12, 2016 at 04:02:58PM +0100, Ard Biesheuvel wrote: >>>>>> On 12 February 2016 at 15:58, Catalin Marinas wrote: >>>>>>> On Mon, Feb 01, 2016 at 11:54:52AM +0100, Ard Biesheuvel wrote: >>>>>>>> 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 >>>>>>> >>>>>>> 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 ffffffc936257cc8 >>>>>> >>>>>> Can 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 check >>> >>> Commit 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 ?