1{ 2 "version": "1.0", 3 "content": [ 4 { 5 "id": "SAF-0-safe", 6 "analyser": { 7 "eclair": "MC3R1.R8.6", 8 "coverity": "misra_c_2012_rule_8_6_violation" 9 }, 10 "name": "Rule 8.6: linker script defined symbols", 11 "text": "It is safe to declare this symbol because it is defined in the linker script." 12 }, 13 { 14 "id": "SAF-1-safe", 15 "analyser": { 16 "eclair": "MC3R1.R8.4" 17 }, 18 "name": "Rule 8.4: asm-only definition", 19 "text": "Functions and variables used only by asm modules do not need to have a visible declaration prior to their definition." 20 }, 21 { 22 "id": "SAF-2-safe", 23 "analyser": { 24 "eclair": "MC3R1.R10.1" 25 }, 26 "name": "MC3R1.R10.1: use of an enumeration constant in an arithmetic operation", 27 "text": "This violation can be fixed with a cast to (int) of the enumeration constant, but a deviation was chosen due to code readability (see also the comment in BITS_TO_LONGS)." 28 }, 29 { 30 "id": "SAF-3-safe", 31 "analyser": { 32 "eclair": "MC3R1.R20.4" 33 }, 34 "name": "MC3R1.R20.4: allow the definition of a macro with the same name as a keyword in some special cases", 35 "text": "The definition of a macro with the same name as a keyword can be useful in certain configurations to improve the guarantees that can be provided by Xen. See docs/misra/deviations.rst for a precise rationale for all such cases." 36 }, 37 { 38 "id": "SAF-4-safe", 39 "analyser": { 40 "eclair": "MC3R1.R17.1" 41 }, 42 "name": "Rule 17.1: internal helper functions made to break long running hypercalls into multiple calls.", 43 "text": "They need to take a variable number of arguments depending on the original hypercall they are trying to continue." 44 }, 45 { 46 "id": "SAF-5-safe", 47 "analyser": { 48 "eclair": "MC3R1.R16.2" 49 }, 50 "name": "MC3R1.R16.2: using a case label when the most closely-enclosing compound statement is not a switch statement", 51 "text": "A switch label enclosed by some compound statement that is not the body of a switch is permitted within local helper macros that are unlikely to be misused or misunderstood." 52 }, 53 { 54 "id": "SAF-6-safe", 55 "analyser": { 56 "eclair": "MC3R1.R20.12" 57 }, 58 "name": "MC3R1.R20.12: use of a macro argument that deliberately violates the Rule", 59 "text": "A macro parameter that is itself a macro is intentionally used within the macro both as a regular parameter and for text replacement." 60 }, 61 { 62 "id": "SAF-7-safe", 63 "analyser": { 64 "eclair": "MC3R1.R20.7" 65 }, 66 "name": "MC3R1.R20.7: deliberately non-parenthesized macro argument", 67 "text": "A macro parameter expands to an expression that is non-parenthesized, as doing so would break the functionality." 68 }, 69 { 70 "id": "SAF-8-safe", 71 "analyser": {}, 72 "name": "Sentinel", 73 "text": "Next ID to be used" 74 } 75 ] 76} 77