[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] x86/domain: address Misra rule 11.1 violation in reset_stack_and_call_ind()



commit 9fd71d225729fd957bdf9e2c28d5e5030de85fe9
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Sep 21 09:58:31 2026 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Sep 21 09:58:31 2026 +0200

    x86/domain: address Misra rule 11.1 violation in reset_stack_and_call_ind()
    
    Eclair dislikes both sides of the comparison to differ in noreturn
    attributes, thus deeming this a violation of "Conversions shall not be
    performed between a pointer to a function and any other type". Since gcc
    doesn't permit use of "noreturn" types used in a typecast, resort to
    typeof().
    
    No functional change intended.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
---
 xen/arch/x86/include/asm/current.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/current.h 
b/xen/arch/x86/include/asm/current.h
index 6139980ab1..fe9a86a3f7 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -208,7 +208,7 @@ unsigned long get_stack_dump_bottom (unsigned long sp);
 /* The constraint may only specify non-call-clobbered registers. */
 #define reset_stack_and_call_ind(fn)                                    \
     ({                                                                  \
-        (void)((fn) == (void (*)(void))NULL);                           \
+        (void)((fn) == (typeof(dom_xen->arch.ctxt_switch->tail))NULL);  \
         switch_stack_and_jump(fn, "INDIRECT_CALL %", "b");              \
     })
 
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.