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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE76EC25B10 for ; Mon, 13 May 2024 14:57:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ew0UtpH3BXpShE9h3EDx7NUlhbuaBSevVzPeteTirdc=; b=o3t7rFLfsEM1za LnvG/I4tIzWRhZW8DUO7I/gEy2mSMha7Cc0rr/7SMeqPqgvhQd6uNpjHjNz9X+zLjo49hUzn6ziug xnTnTtWhITkQqW4EjYKlqHAy/T8RAUYoFQSZBXqQfP/rhHXA22AVt//mVU8LQv42l0KUUwB08YQla LXX53Re6vZ/WAL7selVdc2ZNRguPrOfz0WEYPx7y7iy4FJrvCbdovRxWE/QDPcnH18BFTGo9OOelc y9S3QWqV4F0jIXS/EFSFgZRgZ9TUKfWas+95UvLYtSCzsCt3UluK8QOR3wXC/S2E5YF3R8/wYaWGx Kj90sP5NuQpQO4o9HbZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6X70-0000000DGCA-2rrb; Mon, 13 May 2024 14:57:10 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6X6y-0000000DGAo-25HB for linux-arm-kernel@lists.infradead.org; Mon, 13 May 2024 14:57:09 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id E853760E09; Mon, 13 May 2024 14:57:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 08B41C113CC; Mon, 13 May 2024 14:57:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1715612227; bh=5ReINp8KqWZQ+gK5PgcYTLsssnjDvkcpDG2reGNNN1g=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=oKcnMdMRkHrlF/yr1iPERoaUeBtW/Nd5emIrmdJWoouqDkhZRz3RZcOuNI/RBeXyC sfW0/zZY11f33xjzNosAuz85upPHO42eymUzgZqtPsqd9jhMvXL/oZsGLxR715BYh7 URsHFZK7X5OiPTb1sMyalep4o+scHWWpXT8luToWuNCEyj6sIKSsjwuTde5CtX52cM xDzz73joFsRdf7Bi+YPhxnYMhoIk2vW3hUvLYK1zstzxbFIBdLTY0JSO4WzxdV9K6A KR/t0BRFn1x0ADlQNSQjPBjHC5E22bmXdgUgZQSDOecEBTUwcbdj8sjmasAk3DVCHN V61BIn86rPD/g== Date: Mon, 13 May 2024 15:57:02 +0100 From: Will Deacon To: =?iso-8859-1?Q?Pierre-Cl=E9ment?= Tosi Cc: kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, Marc Zyngier , Oliver Upton , Suzuki K Poulose , Vincent Donnefort Subject: Re: [PATCH v3 08/12] arm64: Move esr_comment() to Message-ID: <20240513145702.GG28749@willie-the-truck> References: <20240510112645.3625702-1-ptosi@google.com> <20240510112645.3625702-9-ptosi@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240510112645.3625702-9-ptosi@google.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240513_075708_641243_49BF57F3 X-CRM114-Status: GOOD ( 21.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, May 10, 2024 at 12:26:37PM +0100, Pierre-Cl=E9ment Tosi wrote: > As it is already defined twice and is about to be needed for kCFI error > detection, move esr_comment() to a header for re-use, with a clearer > name. esr_comment() is defined twice? I only see one macro definition, but yes, it's open-coded in nvhe_hyp_panic_handler too. > Signed-off-by: Pierre-Cl=E9ment Tosi > --- > arch/arm64/include/asm/esr.h | 5 +++++ > arch/arm64/kernel/debug-monitors.c | 4 +--- > arch/arm64/kernel/traps.c | 8 +++----- > arch/arm64/kvm/handle_exit.c | 2 +- > 4 files changed, 10 insertions(+), 9 deletions(-) > = > diff --git a/arch/arm64/include/asm/esr.h b/arch/arm64/include/asm/esr.h > index 81606bf7d5ac..2bcf216be376 100644 > --- a/arch/arm64/include/asm/esr.h > +++ b/arch/arm64/include/asm/esr.h > @@ -379,6 +379,11 @@ > #ifndef __ASSEMBLY__ > #include > = > +static inline unsigned long esr_brk_comment(unsigned long esr) > +{ > + return esr & ESR_ELx_BRK64_ISS_COMMENT_MASK; > +} > + > static inline bool esr_is_data_abort(unsigned long esr) > { > const unsigned long ec =3D ESR_ELx_EC(esr); > diff --git a/arch/arm64/kernel/debug-monitors.c b/arch/arm64/kernel/debug= -monitors.c > index 64f2ecbdfe5c..024a7b245056 100644 > --- a/arch/arm64/kernel/debug-monitors.c > +++ b/arch/arm64/kernel/debug-monitors.c > @@ -312,9 +312,7 @@ static int call_break_hook(struct pt_regs *regs, unsi= gned long esr) > * entirely not preemptible, and we can use rcu list safely here. > */ > list_for_each_entry_rcu(hook, list, node) { > - unsigned long comment =3D esr & ESR_ELx_BRK64_ISS_COMMENT_MASK; > - > - if ((comment & ~hook->mask) =3D=3D hook->imm) > + if ((esr_brk_comment(esr) & ~hook->mask) =3D=3D hook->imm) > fn =3D hook->fn; > } > = > diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c > index 215e6d7f2df8..2652247032ae 100644 > --- a/arch/arm64/kernel/traps.c > +++ b/arch/arm64/kernel/traps.c > @@ -1105,8 +1105,6 @@ static struct break_hook ubsan_break_hook =3D { > }; > #endif > = > -#define esr_comment(esr) ((esr) & ESR_ELx_BRK64_ISS_COMMENT_MASK) > - > /* > * Initial handler for AArch64 BRK exceptions > * This handler only used until debug_traps_init(). > @@ -1115,15 +1113,15 @@ int __init early_brk64(unsigned long addr, unsign= ed long esr, > struct pt_regs *regs) > { > #ifdef CONFIG_CFI_CLANG > - if ((esr_comment(esr) & ~CFI_BRK_IMM_MASK) =3D=3D CFI_BRK_IMM_BASE) > + if ((esr_brk_comment(esr) & ~CFI_BRK_IMM_MASK) =3D=3D CFI_BRK_IMM_BASE) > return cfi_handler(regs, esr) !=3D DBG_HOOK_HANDLED; > #endif > #ifdef CONFIG_KASAN_SW_TAGS > - if ((esr_comment(esr) & ~KASAN_BRK_MASK) =3D=3D KASAN_BRK_IMM) > + if ((esr_brk_comment(esr) & ~KASAN_BRK_MASK) =3D=3D KASAN_BRK_IMM) > return kasan_handler(regs, esr) !=3D DBG_HOOK_HANDLED; > #endif > #ifdef CONFIG_UBSAN_TRAP > - if ((esr_comment(esr) & ~UBSAN_BRK_MASK) =3D=3D UBSAN_BRK_IMM) > + if ((esr_brk_comment(esr) & ~UBSAN_BRK_MASK) =3D=3D UBSAN_BRK_IMM) > return ubsan_handler(regs, esr) !=3D DBG_HOOK_HANDLED; > #endif > return bug_handler(regs, esr) !=3D DBG_HOOK_HANDLED; > diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c > index 617ae6dea5d5..0bcafb3179d6 100644 > --- a/arch/arm64/kvm/handle_exit.c > +++ b/arch/arm64/kvm/handle_exit.c > @@ -395,7 +395,7 @@ void __noreturn __cold nvhe_hyp_panic_handler(u64 esr= , u64 spsr, > if (mode !=3D PSR_MODE_EL2t && mode !=3D PSR_MODE_EL2h) { > kvm_err("Invalid host exception to nVHE hyp!\n"); > } else if (ESR_ELx_EC(esr) =3D=3D ESR_ELx_EC_BRK64 && > - (esr & ESR_ELx_BRK64_ISS_COMMENT_MASK) =3D=3D BUG_BRK_IMM) { > + esr_brk_comment(esr) =3D=3D BUG_BRK_IMM) { > const char *file =3D NULL; > unsigned int line =3D 0; With the commit message tweaked: Acked-by: Will Deacon Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel