From patchwork Tue Oct 27 13:52:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 289824 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=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, 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 D2ED9C55179 for ; Tue, 27 Oct 2020 15:08:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8728721D24 for ; Tue, 27 Oct 2020 15:08:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603811287; bh=aIocu76wD2yXksJDdVAhdWe1KeyuA03JrPSb51ndGaY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=WMZZTuAedbPqbOXDsbbpMaPveKhbbeORiMesx/BGm48hB0EOZuj3h4bu2GSCydDly Basbj1r1TxzsWmEQNHJRyrZuWJ+f0Niha5hdd+r7BzFeWcqCvdCEGN/vkX6k4rVFU/ n9kl1q9mJDxFLiEazeWEqdOPs7MxmgOW2sJfGjxU= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1793744AbgJ0PIG (ORCPT ); Tue, 27 Oct 2020 11:08:06 -0400 Received: from mail.kernel.org ([198.145.29.99]:40362 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1792968AbgJ0PGM (ORCPT ); Tue, 27 Oct 2020 11:06:12 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 0F30421D24; Tue, 27 Oct 2020 15:06:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603811171; bh=aIocu76wD2yXksJDdVAhdWe1KeyuA03JrPSb51ndGaY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E/6Xe/sRV5MIopas4pJO1udNK0krPW+UGlwPrpQM2i0JiU6Ysved4tpi9jZPhizF6 YdEGM+ZW2aaulbRcnSV6rSKCqezLuVwB/gfZRTopkSMUI+6Lyst7Xl7xd1X+RFwb8b EZKfPBfTRIbi10gw9oHQH5LYTWUd4puSWrwNCro0= 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 5.8 398/633] powerpc/64: fix irq replay pt_regs->softe value Date: Tue, 27 Oct 2020 14:52:21 +0100 Message-Id: <20201027135541.384140506@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135522.655719020@linuxfoundation.org> References: <20201027135522.655719020@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Nicholas Piggin [ Upstream commit 2b48e96be2f9f7151197fd25dc41487054bc6f5b ] Replayed interrupts get an "artificial" struct pt_regs constructed to pass to interrupt handler functions. This did not get the softe field set correctly, it's as though the interrupt has hit while irqs are disabled. It should be IRQS_ENABLED. This is possibly harmless, asynchronous handlers should not be testing if irqs were disabled, but it might be possible for example some code is shared with synchronous or NMI handlers, and it makes more sense if debug output looks at this. Fixes: 3282a3da25bd ("powerpc/64: Implement soft interrupt replay in C") Signed-off-by: Nicholas Piggin Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/20200915114650.3980244-2-npiggin@gmail.com Signed-off-by: Sasha Levin --- arch/powerpc/kernel/irq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 297ee79febc6c..3a22281a8264e 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -214,7 +214,7 @@ void replay_soft_interrupts(void) struct pt_regs regs; ppc_save_regs(®s); - regs.softe = IRQS_ALL_DISABLED; + regs.softe = IRQS_ENABLED; again: if (IS_ENABLED(CONFIG_PPC_IRQ_SOFT_MASK_DEBUG))