Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3705595pxb; Mon, 24 Jan 2022 15:54:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJxyubzFDkKX88SZtuPU/riKysFNP9NKi9o+++nGY5DxWPXJn0pwBFF1AuqbQZf+tNIFdWD4 X-Received: by 2002:a63:b245:: with SMTP id t5mr13331269pgo.231.1643068472550; Mon, 24 Jan 2022 15:54:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643068472; cv=none; d=google.com; s=arc-20160816; b=C6zJlwUvndVJsrgPlHz0HZGnLOcBqA8puuVc4R11L5197VVEZqfgpis6Ifwi5PxkJC dVokPcUZl21jTo2LVnLWggN5Y9kT8vL7fm1opvdc0J9lezyuMpPOmrZp8m5hm6V/+vy1 HLvOeE1QrasC6zT+2AaOcUrWgpxaB15Yj+xBpXGijrLplZGv/hGYriUGs+vJMs2jqe1n f0CZ0QmLVZgDbmDMgFLTwTgrh1bKEEGol8kkNAO1G+4wDDzTwO3tCahmH+k1Pjj+qHh5 9XUoDH0KMdp7xc+kolYrMad9kqAt2cOgQh2FjRAQGX0YA3d09ZYQcKX/5HBKjac+Xwwf U/1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=X78HQEflpfEUJn8aiQV/zHXW+b4SAV2PMME0n2xf8FU=; b=Qp7d+gkvnaFMQFcjR971wl6d9jSnnwfcSdWKHerViZHPy4JrkqyETznAmqqMHJeuHT uvFTgMXrWYaFM0N9td6Ju2yD/7RsFhwM2mZKuc2E6kJVItclTbFEcS8bVkgV/BH68Gjn gCMRtkfyPP7P5EdeS6q8EHKGnbrQIDHvHRD6RNw5EULLGcXDDJ7VA8JK0HpwoFJQ5165 7sFfJJbEPGSAuvdNyLSmYGY9K6vTQNgQVYqtjebi4dr0NI0u8qNhSnXSbEGjKVzaCkXp UcldsN0fL/TcgebanJ2T0O2K97qMpGk9l5/nzEHiR1qECARS9H/QPHQJnf+ooytoWqmV MYMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=qOVHfJO7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u22si2213014pfg.2.2022.01.24.15.54.20; Mon, 24 Jan 2022 15:54:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=qOVHfJO7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2365103AbiAXXuP (ORCPT + 99 others); Mon, 24 Jan 2022 18:50:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1844747AbiAXXKN (ORCPT ); Mon, 24 Jan 2022 18:10:13 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38B7EC0A0295; Mon, 24 Jan 2022 13:18:34 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6120861496; Mon, 24 Jan 2022 21:18:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2AABCC340E4; Mon, 24 Jan 2022 21:18:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643059112; bh=crMXqvSs9XeCYRWN5QFY6tsNKDUACgMNtu1LADo50Es=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qOVHfJO7ZoxKEmK83q/802lOpo6CchlCPZYByMkno9r4MYqc+5k/6VAHhSmcKW4zt fNNcu0gvof7n6L3JMbbJg5I3AbudCFM/A36frTqe7eCid06yT5wpbRAK2UuoQwuREg rXrXvhibwwAZZMylraiQpjevkMrUHZkHpYZ/Uch8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sachin Sant , Michael Ellerman , Sasha Levin Subject: [PATCH 5.16 0507/1039] powerpc/64s: Mask NIP before checking against SRR0 Date: Mon, 24 Jan 2022 19:38:16 +0100 Message-Id: <20220124184142.325472093@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184125.121143506@linuxfoundation.org> References: <20220124184125.121143506@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michael Ellerman [ Upstream commit 314f6c23dd8d417281eb9e8a516dd98036f2e7b3 ] When CONFIG_PPC_RFI_SRR_DEBUG=y we check that NIP and SRR0 match when returning from interrupts. This can trigger falsely if NIP has either of its two low bits set via sigreturn or ptrace, while SRR0 has its low two bits masked in hardware. As a quick fix make sure to mask the low bits before doing the check. Fixes: 59dc5bfca0cb ("powerpc/64s: avoid reloading (H)SRR registers if they are still valid") Reported-by: Sachin Sant Signed-off-by: Michael Ellerman Tested-by: Sachin Sant Link: https://lore.kernel.org/r/20211221135101.2085547-1-mpe@ellerman.id.au Signed-off-by: Sasha Levin --- arch/powerpc/kernel/interrupt_64.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/powerpc/kernel/interrupt_64.S b/arch/powerpc/kernel/interrupt_64.S index ec950b08a8dcc..894588b2381e5 100644 --- a/arch/powerpc/kernel/interrupt_64.S +++ b/arch/powerpc/kernel/interrupt_64.S @@ -30,6 +30,7 @@ COMPAT_SYS_CALL_TABLE: .ifc \srr,srr mfspr r11,SPRN_SRR0 ld r12,_NIP(r1) + clrrdi r12,r12,2 100: tdne r11,r12 EMIT_BUG_ENTRY 100b,__FILE__,__LINE__,(BUGFLAG_WARNING | BUGFLAG_ONCE) mfspr r11,SPRN_SRR1 @@ -39,6 +40,7 @@ COMPAT_SYS_CALL_TABLE: .else mfspr r11,SPRN_HSRR0 ld r12,_NIP(r1) + clrrdi r12,r12,2 100: tdne r11,r12 EMIT_BUG_ENTRY 100b,__FILE__,__LINE__,(BUGFLAG_WARNING | BUGFLAG_ONCE) mfspr r11,SPRN_HSRR1 -- 2.34.1