From 1f1179c619f6b82d3f193a9da7a24c359f79fb67 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 3 Dec 2021 11:36:46 +0100 Subject: [PATCH] x86/alternatives: adjust alternative_vcall0() I'm puzzled about two inconsistencies with other alternative_vcall() here: There's a check missing that the supplied function pointer is actually pointing to a function taking no args. And there's a pointless pair of parentheses. Correct both. Fixes: 67d01cdb5518 ("x86: infrastructure to allow converting certain indirect calls to direct ones") Signed-off-by: Jan Beulich Reviewed-by: Wei Chen --- xen/include/asm-x86/alternative.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/include/asm-x86/alternative.h b/xen/include/asm-x86/alternative.h index 8bc59b02af..a7a82c2c03 100644 --- a/xen/include/asm-x86/alternative.h +++ b/xen/include/asm-x86/alternative.h @@ -218,7 +218,8 @@ extern void alternative_branches(void); #define alternative_vcall0(func) ({ \ ALT_CALL_NO_ARG1; \ - ((void)alternative_callN(0, int, func)); \ + (void)sizeof(func()); \ + (void)alternative_callN(0, int, func); \ }) #define alternative_call0(func) ({ \ -- 2.30.2