On Tue, Aug 13, 2019 at 03:04:52PM +0100, Steve Capper wrote: > Hi Will, > > On Tue, Aug 13, 2019 at 01:06:44PM +0100, Will Deacon wrote: > > [+Steve] > > > > On Tue, Aug 13, 2019 at 11:58:52AM +0100, Will Deacon wrote: > > > On Tue, Aug 13, 2019 at 10:02:01AM +0100, Will Deacon wrote: > > > > On Mon, Aug 12, 2019 at 05:51:35PM -0400, Qian Cai wrote: > > > > > Booting today's linux-next on an arm64 server triggers a panic with > > > > > CONFIG_KASAN_SW_TAGS=y pointing to this line, > > > > > > > > Is this the only change on top of defconfig? If not, please can you > > > > share > > > > your full .config? > > > > > > > > > kfree()->virt_to_head_page()->compound_head() > > > > > > > > > > unsigned long head = READ_ONCE(page->compound_head); > > > > > > > > > > The bisect so far indicates one of those could be bad, > > > > > > > > I guess that means the issue is reproducible on the arm64 for-next/core > > > > branch. Once I have your .config, I'll give it a go. > > > > > > FWIW, I've managed to reproduce this using defconfig + SW_TAGS on > > > for-next/core, so I'll keep investigating. > > I've installed clang-8 and enabled CONFIG_KASAN_SW_TAGS and was able to > reproduce the problem quite rapidly. Many apologies for missing this > before in my testing. > > > > > Right, hacky diff below seems to resolve this, so I'll split this up into > > some proper patches as there is more than one bug here. > > > > Thanks, > > > > Will > > > > --->8 > > > > diff --git a/arch/arm64/include/asm/memory.h > > b/arch/arm64/include/asm/memory.h > FWIW, this fixed the crashes I experienced, I'll run some additional > tests. >
This works for me with 52-bit VAs + CONFIG_KASAN_SW_TAGS + CONFIG_DEBUG_VIRTUAL + CONFIG_DEBUG_VM FWIW: Tested-by: Steve Capper <steve.cap...@arm.com> Cheers, -- Steve