From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753504AbdK1E3r (ORCPT ); Mon, 27 Nov 2017 23:29:47 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42602 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752088AbdK1E3q (ORCPT ); Mon, 27 Nov 2017 23:29:46 -0500 Date: Mon, 27 Nov 2017 22:29:43 -0600 From: Josh Poimboeuf To: Linus Torvalds Cc: Ingo Molnar , Linux Kernel Mailing List , Dave Hansen , Andy Lutomirski , Thomas Gleixner , "H . Peter Anvin" , Peter Zijlstra , Borislav Petkov Subject: Re: [PATCH 11/21] x86/dumpstack: Handle stack overflow on all stacks Message-ID: <20171128042943.ebs6yzduthakxxk4@treble> References: <20171127104529.12435-1-mingo@kernel.org> <20171127104529.12435-12-mingo@kernel.org> 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, 28 Nov 2017 04:29:46 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 27, 2017 at 11:26:30AM -0800, Linus Torvalds wrote: > On Mon, Nov 27, 2017 at 2:45 AM, Ingo Molnar wrote: > > From: Andy Lutomirski > > > > We currently special-case stack overflow on the task stack. We're > > going to start putting special stacks in the fixmap with a custom > > layout, so they'll have guard pages, too. Teach the unwinder to be > > able to unwind an overflow of any of the stacks. > > Why isn't this together with 01/21? The two cases seem to be entirely > identical and fundamentally the same issue. Yeah, they probably do belong in the same patch. > In fact, maybe the whole "stack overflow" special cases should be in > "get_stack_info()" itself, rather than be special-cased in the > callers? I would be nervous about doing that. Several of the get_stack_info() callers rely on it being honest. In fact, looking deeper at the above patch, it doesn't seem convincingly safe to me. What if the adjacent page doesn't exist? Then when the oops dumping code dereferences the 'stack' variable, you get an oops in your oops. -- Josh