Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2299077imm; Mon, 28 May 2018 05:39:05 -0700 (PDT) X-Google-Smtp-Source: AB8JxZo6hZQx62a5QEZUalVJ3e6hW1U8PGsWUDGBqtWOJo75IRK9ySNw4RyHzGoqTUQTfmqev2nq X-Received: by 2002:a62:469b:: with SMTP id o27-v6mr13264353pfi.124.1527511145720; Mon, 28 May 2018 05:39:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527511145; cv=none; d=google.com; s=arc-20160816; b=xGf+y6+8BUv/BQ4X1RzDbtWljp4mYYzyYfYlwGTHHVhQPREbNwYUi2Ls2rCGSBRa+r XaiyqKwhCMDr3BbqdBAOCpL6pGw9H5XILzO/pdx9hVTtfz30NUkjz7Ut1ju+Rhf0o3r2 xl/l1SjEXz+U9MZ6RV3nRKaXLn65SOsGQm6H5nrPHhIatU5ilSdiJozimkFK8FC2jv/U M8qp8et1yYUriQ5pjWFOcMUSEbj11vmgEsQw5KTQ8VLU2ItiBvDB3Xnla+m8TEIkv4/S qaLH+Ju5lHo+U4FAcgeUJQ6hEKTkgwWiCgCqQTNbUuZvr0kOOi4/zrILWPC/V0leg5y3 yIPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=qLzk83cx/TL/LYNn9tTZVR8nFP0Y0CE99AXiiUTBBYw=; b=m4IfVtn6ji2k/t7MzoRyRbHOYrvs3gsJM062EaSFJe6/yWGwT3yJFxiBNw6Q4Ehd1f dA0ey7G5ZJVvPjcf7SvP1TGNJ2XsHUZtb9r1Iqu2AKIjs0QkIr8SowX871pnj4a0oHY0 L+uBFDxDhz69K2AGtWAzFrSOZaRT3lpCnV5bv7NPUq7BHwW9MvR53ExhmM5MmtC+8cqR vrN/ebeANE6F4UilUhh3TOblaQfAnAhG0c+qDInSpvngU7rujbHW1iauS2CkRLfwsWtM vIpId/JV7hV/FX+0w4SBy3rQojWm9n6Kh4r/gyfTsqNC8l2SucoGRgRt8CHDcZgmQgLx 2xSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EiRmrTJy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a76-v6si7131289pfk.35.2018.05.28.05.38.51; Mon, 28 May 2018 05:39:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EiRmrTJy; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938949AbeE1MiD (ORCPT + 99 others); Mon, 28 May 2018 08:38:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:46782 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S937983AbeE1K6l (ORCPT ); Mon, 28 May 2018 06:58:41 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id ABF562087E; Mon, 28 May 2018 10:58:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527505121; bh=i427wk9qHwT3mtiHp+2XcQNF9EbIhojrBEujbqEp/xc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EiRmrTJyyxuuZQiLasdAD7wPOfpGqYM6Z5CnTdeuA9xsDOUuwb58qrjjLZP0V9KUU UzFmjns+xYStMxToKzCb+b3PEZN7alRPMh5EwEmDwLxEVg+g61pifNpXgcpsS27OAl chHqLvb+/Rtr6/UbN3n/dRLpf7tMcD60njICsWkk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nicholas Piggin , Michael Ellerman , Sasha Levin Subject: [PATCH 4.14 352/496] powerpc/64s: sreset panic if there is no debugger or crash dump handlers Date: Mon, 28 May 2018 12:02:17 +0200 Message-Id: <20180528100334.640552008@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100319.498712256@linuxfoundation.org> References: <20180528100319.498712256@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Nicholas Piggin [ Upstream commit d40b6768e45bd9213139b2d91d30c7692b6007b1 ] system_reset_exception does most of its own crash handling now, invoking the debugger or crash dumps if they are registered. If not, then it goes through to die() to print stack traces, and then is supposed to panic (according to comments). However after die() prints oopses, it does its own handling which doesn't allow system_reset_exception to panic (e.g., it may just kill the current process). This patch causes sreset exceptions to return from die after it prints messages but before acting. This also stops die from invoking the debugger on 0x100 crashes. system_reset_exception similarly calls the debugger. It had been thought this was harmless (because if the debugger was disabled, neither call would fire, and if it was enabled the first call would return). However in some cases like xmon 'X' command, the debugger returns 0, which currently causes it to be entered again (first in system_reset_exception, then in die), which is confusing. Signed-off-by: Nicholas Piggin Signed-off-by: Michael Ellerman Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- arch/powerpc/kernel/traps.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c @@ -182,6 +182,12 @@ static void oops_end(unsigned long flags } raw_local_irq_restore(flags); + /* + * system_reset_excption handles debugger, crash dump, panic, for 0x100 + */ + if (TRAP(regs) == 0x100) + return; + crash_fadump(regs, "die oops"); if (kexec_should_crash(current)) @@ -246,8 +252,13 @@ void die(const char *str, struct pt_regs { unsigned long flags; - if (debugger(regs)) - return; + /* + * system_reset_excption handles debugger, crash dump, panic, for 0x100 + */ + if (TRAP(regs) != 0x100) { + if (debugger(regs)) + return; + } flags = oops_begin(regs); if (__die(str, regs, err))