[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190813144130.GA15482@capper-ampere.manchester.arm.com>
Date: Tue, 13 Aug 2019 14:41:32 +0000
From: Steve Capper <Steve.Capper@....com>
To: Will Deacon <will@...nel.org>
CC: Qian Cai <cai@....pw>, Catalin Marinas <Catalin.Marinas@....com>,
"Andrey Konovalov" <andreyknvl@...gle.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
nd <nd@....com>
Subject: Re: "arm64/for-next/core" causes boot panic
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.capper@....com>
Cheers,
--
Steve
Powered by blists - more mailing lists