From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 47FD3C76195 for ; Fri, 19 Jul 2019 04:05:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 13BE6218A3 for ; Fri, 19 Jul 2019 04:05:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563509111; bh=Pexeou4pNE0W1eZxwC5+0i3R4UWBqXSliIsFpaicnF4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=vlosCkXevApBQL0/NIk5dV/gBacqQYqC0Sy/Ojup4eSxb3qCVADHjF5DbFSpqEutC h0G51Xr6p4JbRksrZ3BkIzQelSAnTIE8tARRtNSIYHBH4FG+wO+V4GJVTGXJosj6je vYAc0lIRL9p7x+JBBkgqwWYQXYUxuEKB1zNcCmkQ= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728837AbfGSEFK (ORCPT ); Fri, 19 Jul 2019 00:05:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:37296 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731424AbfGSEFF (ORCPT ); Fri, 19 Jul 2019 00:05:05 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7FDB3218A3; Fri, 19 Jul 2019 04:05:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1563509104; bh=Pexeou4pNE0W1eZxwC5+0i3R4UWBqXSliIsFpaicnF4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UkbzVNEp8YaSoir3/iJbC7g7vrpZUxjhOG5t3nP1R4j034MYR0yYkEuHR3a/DMBUw fOSeVduz4W2ESrzBMvCx7r22GfT6PM1RlaLjB2SlXQIzm6BKTGzCjk5vz0ck19bu2U UKzrl+MY/PO1C0a0eTnhtqX27Pe6BoDYFrmXsZjM= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Naveen N. Rao" , Michael Ellerman , Sasha Levin , linuxppc-dev@lists.ozlabs.org Subject: [PATCH AUTOSEL 5.1 070/141] powerpc/xmon: Fix disabling tracing while in xmon Date: Fri, 19 Jul 2019 00:01:35 -0400 Message-Id: <20190719040246.15945-70-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190719040246.15945-1-sashal@kernel.org> References: <20190719040246.15945-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "Naveen N. Rao" [ Upstream commit aaf06665f7ea3ee9f9754e16c1a507a89f1de5b1 ] Commit ed49f7fd6438d ("powerpc/xmon: Disable tracing when entering xmon") added code to disable recording trace entries while in xmon. The commit introduced a variable 'tracing_enabled' to record if tracing was enabled on xmon entry, and used this to conditionally enable tracing during exit from xmon. However, we are not checking the value of 'fromipi' variable in xmon_core() when setting 'tracing_enabled'. Due to this, when secondary cpus enter xmon, they will see tracing as being disabled already and tracing won't be re-enabled on exit. Fix the same. Fixes: ed49f7fd6438d ("powerpc/xmon: Disable tracing when entering xmon") Signed-off-by: Naveen N. Rao Signed-off-by: Michael Ellerman Signed-off-by: Sasha Levin --- arch/powerpc/xmon/xmon.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index a0f44f992360..c608e3fa6d3b 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -466,8 +466,10 @@ static int xmon_core(struct pt_regs *regs, int fromipi) local_irq_save(flags); hard_irq_disable(); - tracing_enabled = tracing_is_on(); - tracing_off(); + if (!fromipi) { + tracing_enabled = tracing_is_on(); + tracing_off(); + } bp = in_breakpoint_table(regs->nip, &offset); if (bp != NULL) { -- 2.20.1