[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49BA730F-E9A0-44AA-AB62-D2F40C5C11DD@zytor.com>
Date: Sat, 27 Jan 2024 10:14:34 -0800
From: "H. Peter Anvin" <hpa@...or.com>
To: Xin Li <xin3.li@...el.com>, linux-kernel@...r.kernel.org
CC: tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, x86@...nel.org, luto@...nel.org,
ravi.v.shankar@...el.com, andrew.cooper3@...rix.com
Subject: Re: [PATCH 1/2] x86/fred: Fix build with clang
On January 27, 2024 1:37:27 AM PST, Xin Li <xin3.li@...el.com> wrote:
>As clang doesn't allow .fill to refernece a symbol before it's defined,
>use asm_fred_entrypoint_user instead of asm_fred_entrypoint_kernel.
>
>Fixes: 5e0636a41485 ("x86/fred: FRED entry/exit and dispatch code")
>Reported-by: Borislav Petkov (AMD) <bp@...en8.de>
>Link: https://lore.kernel.org/lkml/20240126100050.GAZbOC0g3Rlr6otZcT@fat_crate.local/
>Signed-off-by: Xin Li <xin3.li@...el.com>
>---
> arch/x86/entry/entry_64_fred.S | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
>diff --git a/arch/x86/entry/entry_64_fred.S b/arch/x86/entry/entry_64_fred.S
>index eedf98de7538..5427e0da190d 100644
>--- a/arch/x86/entry/entry_64_fred.S
>+++ b/arch/x86/entry/entry_64_fred.S
>@@ -43,13 +43,12 @@ SYM_INNER_LABEL(asm_fred_exit_user, SYM_L_GLOBAL)
> _ASM_EXTABLE_TYPE(1b, asm_fred_entrypoint_user, EX_TYPE_ERETU)
> SYM_CODE_END(asm_fred_entrypoint_user)
>
>-.fill asm_fred_entrypoint_kernel - ., 1, 0xcc
>-
> /*
> * The new RIP value that FRED event delivery establishes is
> * (IA32_FRED_CONFIG & ~FFFH) + 256 for events that occur in
> * ring 0, i.e., asm_fred_entrypoint_user + 256.
> */
>+ .fill asm_fred_entrypoint_user + 256 - ., 1, 0xcc
> .org asm_fred_entrypoint_user + 256
> SYM_CODE_START_NOALIGN(asm_fred_entrypoint_kernel)
> FRED_ENTER
.fill and .org here are redundant; in fact, there two directives mean exactly the same thing except that .org implicitly subtracts the current offset.
Powered by blists - more mailing lists