From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936003AbcLTXgo (ORCPT ); Tue, 20 Dec 2016 18:36:44 -0500 Received: from mx1.redhat.com ([209.132.183.28]:33532 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932479AbcLTXgn (ORCPT ); Tue, 20 Dec 2016 18:36:43 -0500 Date: Tue, 20 Dec 2016 17:36:40 -0600 From: Josh Poimboeuf To: Andrey Konovalov Cc: Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov , kasan-dev , linux-mm@kvack.org, LKML , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Kostya Serebryany , syzkaller Subject: Re: x86: warning in unwind_get_return_address Message-ID: <20161220233640.pc4goscldmpkvtqa@treble> References: <20161220210144.u47znzx6qniecuvv@treble> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 20 Dec 2016 23:36:42 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Dec 20, 2016 at 11:35:23PM +0100, Andrey Konovalov wrote: > On Tue, Dec 20, 2016 at 10:01 PM, Josh Poimboeuf wrote: > > On Tue, Dec 20, 2016 at 03:43:27PM +0100, Andrey Konovalov wrote: > >> Hi, > >> > >> I've got the following warning while running the syzkaller fuzzer: > >> > >> WARNING: unrecognized kernel stack return address ffffffffa0000001 at > >> ffff88006377fa18 in a.out:4467 > >> > >> By adding a BUG() to unwind_get_return_address() I was able to capture > >> the stack trace (see below). Looks like unwind_get_return_address() > >> gets called when KASAN tries to unwind the stack to save the stack > >> trace. > >> > >> A reproducer is attached. CONFIG_KASAN=y is most likely needed for it to work. > > > > Hi Andrey, > > > > I've tried with your reproducer but it didn't recreate. Can you try > > again with the following patch from the tip tree, instead of your BUG() > > patch? > > > > http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/patch/?id=8b5e99f02264130782a10ba5c0c759797fb064ee > > > > That will dump the stack data, which should give more clues about what > > went wrong. > > Hi Josh, > > Sure, here it is: Thanks. Looking at the stack trace, my guess is that an interrupt hit while running in generated BPF code, and the unwinder got confused because regs->ip points to the generated code. I may need to disable that warning until we figure out a better solution. Can you share your .config file? -- Josh