diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl index 33d508a2fb..400413f8f5 100644 --- a/automation/eclair_analysis/ECLAIR/deviations.ecl +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl @@ -133,6 +133,10 @@ These macros address differences in argument count during compile-time, effectiv -config=MC3A2.R5.5,ignored_macros+="name(update_gnttab_par||parse_gnttab_limit)&&loc(file(^xen/common/grant_table\\.c$))" -doc_end +-doc_begin="Clash between hypfs_alloc_dyndata() function and macro name in xen/include/xen/hypfs.h is deliberate." +-config=MC3A2.R5.5,ignored_macros+="name(hypfs_alloc_dyndata)&&loc(file(^xen/include/xen/hypfs\\.h$))" +-doc_end + -doc_begin="The type \"ret_t\" is deliberately defined multiple times, depending on the guest." -config=MC3A2.R5.6,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"} diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst index b048309596..6bcc2adf95 100644 --- a/docs/misra/deviations.rst +++ b/docs/misra/deviations.rst @@ -176,6 +176,15 @@ Deviations related to MISRA C:2012 Rules: unused 2nd and 3rd parameters to avoid warnings or errors related to them. - ECLAIR has been configured to ignore these macros. + * - R5.5 + - Clash between the hypfs_alloc_dyndata() function and macro name in the + file xen/include/xen/hypfs.h is deliberate. The function is the allocator + taking a size in bytes, while the macro is a typed convenience wrapper used + by dynamic hypfs nodes to allocate per-request traversal data with the + correct size and return type. The implementation explicitly undefines the + macro before defining the real function, so the name clash is controlled. + - ECLAIR has been configured to ignore this macro. + * - R5.6 - The type ret_t is deliberately defined multiple times depending on the type of guest to service. diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst index c9bbab6c08..a59cf1782e 100644 --- a/docs/misra/rules.rst +++ b/docs/misra/rules.rst @@ -223,6 +223,10 @@ maintainers if you want to suggest a change. Clashes between grant table functions and macro names are allowed because they are used for discarding unused parameters. + Clash between hypfs_alloc_dyndata() function and macro name in the + file xen/include/xen/hypfs.h is allowed because the macro is a typed + convenience wrapper around the size-based allocation function. + * - `Rule 5.6 `_ - Required - A typedef name shall be a unique identifier