On 05/12/2024 3:34 am, Volodymyr Babchuk wrote: >>> diff --git a/xen/common/stack-protector.c b/xen/common/stack-protector.c >>> new file mode 100644 >>> index 0000000000..b258590d3a >>> --- /dev/null >>> +++ b/xen/common/stack-protector.c >>> @@ -0,0 +1,10 @@ >>> +// SPDX-License-Identifier: GPL-2.0-only >>> +#include <xen/lib.h> >>> +#include <xen/random.h> >>> + >>> +unsigned long __ro_after_init __stack_chk_guard; >>> + >>> +void __stack_chk_fail(void) >> asmlinkage. This MISRA check is now blocking in Eclair. > I can see what we might want to mark it as "noreturn", but I don't > understand why you want to use asmlinkage. It is not called from > assembly.
It's not really about "called from assembly", as "called from something Eclair can't see". There's no declaration of __stack_chk_fail() (Rule 8.4 violation), and no visible callsites (Rule 2.1 violation). asmlinkage is an annotation that Eclair knows about, for the purpose of identifying C construct such as this. ~Andrew