summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2025-01-27 14:45:23 -0800
committerDave Hansen <dave.hansen@linux.intel.com>2025-02-10 14:45:59 -0800
commitccb7735a1ea22621f21c3133e4f5f3da5fe5f5b7 (patch)
treeb3764d81f45f2bcfcf64e0de43c6998b0bc61ab1
parenta64dcfb451e254085a7daee5fe51bf22959d52d3 (diff)
x86/fpu: Fully optimize out WARN_ON_FPU()
Currently WARN_ON_FPU evaluates its argument even if CONFIG_X86_DEBUG_FPU is disabled, which adds unnecessary instructions to several functions, for example kernel_fpu_begin(). Fix this by using BUILD_BUG_ON_INVALID(x) in the no-debug case rather than (void)(x). Fixes: 83242c515881 ("x86/fpu: Make WARN_ON_FPU() more robust in the !CONFIG_X86_DEBUG_FPU case") Suggested-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Link: https://lore.kernel.org/all/20250127224523.94300-1-ebiggers%40kernel.org
-rw-r--r--arch/x86/kernel/fpu/internal.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/fpu/internal.h b/arch/x86/kernel/fpu/internal.h
index dbdb31f55fc7..975de070c9c9 100644
--- a/arch/x86/kernel/fpu/internal.h
+++ b/arch/x86/kernel/fpu/internal.h
@@ -18,7 +18,7 @@ static __always_inline __pure bool use_fxsr(void)
#ifdef CONFIG_X86_DEBUG_FPU
# define WARN_ON_FPU(x) WARN_ON_ONCE(x)
#else
-# define WARN_ON_FPU(x) ({ (void)(x); 0; })
+# define WARN_ON_FPU(x) ({ BUILD_BUG_ON_INVALID(x); 0; })
#endif
/* Used in init.c */