@@ -81,6 +81,17 @@ conform to the directive."
-config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
-doc_end
+-doc_begin="The type \"ret_t\" is deliberately defined multiple times,
+depending on the guest."
+-config=MC3R1.R5.6,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
+-doc_end
+
+-doc_begin="The following files are imported from the gnu-efi package."
+-file_tag+={adopted_r5_6,"^xen/include/efi/.*$"}
+-file_tag+={adopted_r5_6,"^xen/arch/.*/include/asm/.*/efibind\\.h$"}
+-config=MC3R1.R5.6,reports+={deliberate,"any_area(any_loc(file(adopted_r5_6)))"}
+-doc_end
+
#
# Series 7.
#
@@ -90,6 +90,21 @@ Deviations related to MISRA C:2012 Rules:
- __emulate_2op and __emulate_2op_nobyte
- read_debugreg and write_debugreg
+ * - R5.6
+ - The type ret_t is deliberately defined multiple times depending on the
+ type of guest to service.
+ - Tagged as `deliberate` for ECLAIR.
+
+ * - R5.6
+ - Some files are not subject to respect MISRA rules at
+ the moment, but, among these out-of-scope files, there are definitions
+ of typedef names that are already defined within in-scope files and
+ therefore, ECLAIR does report a violation since not all the files
+ involved in the violation are excluded from the analysis.
+ - Tagged as `deliberate` for ECLAIR. Such excluded files are:
+ - xen/include/efi/*
+ - xen/arch/*/include/asm/*/efibind.h
+
* - R7.1
- It is safe to use certain octal constants the way they are defined
in specifications, manuals, and algorithm descriptions. Such places
Update ECLAIR configuration to take into account the adopted files and type "ret_t". Update docs/misra/deviations.rst accordingly. Signed-off-by: Federico Serafini <federico.serafini@bugseng.com> --- Changes in v2: - generalized excluded files. --- automation/eclair_analysis/ECLAIR/deviations.ecl | 11 +++++++++++ docs/misra/deviations.rst | 15 +++++++++++++++ 2 files changed, 26 insertions(+)