On 26.10.2023 00:34, Stefano Stabellini wrote:
> On Wed, 25 Oct 2023, Jan Beulich wrote:
>> On 24.10.2023 22:30, Stefano Stabellini wrote:
>>> On Tue, 24 Oct 2023, Nicola Vetrini wrote:
>>>> As specified in rules.rst, these constants can be used
>>>> in the code.
>>>>
>>>> Signed-off-by: Nicola Vetrini <nicola.vetr...@bugseng.com>
>>>> ---
>>>> Changes in v2:
>>>> - replace some SAF deviations with configurations
>>>> Changes in v3:
>>>> - refine configurations and justifications
>>>> ---
>>>>  automation/eclair_analysis/ECLAIR/deviations.ecl | 10 ++++++----
>>>>  docs/misra/deviations.rst                        |  5 +++++
>>>>  docs/misra/safe.json                             |  8 ++++++++
>>>>  xen/arch/x86/hvm/svm/emulate.c                   |  6 +++---
>>>>  xen/common/inflate.c                             |  4 ++--
>>>>  5 files changed, 24 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
>>>> b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>> index fa56e5c00a27..ea5e0eb1813f 100644
>>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>> @@ -85,10 +85,12 @@ conform to the directive."
>>>>  # Series 7.
>>>>  #
>>>>  
>>>> --doc_begin="Usage of the following constants is safe, since they are 
>>>> given as-is
>>>> -in the inflate algorithm specification and there is therefore no risk of 
>>>> them
>>>> -being interpreted as decimal constants."
>>>> --config=MC3R1.R7.1,literals={safe, 
>>>> "^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$"}
>>>> +-doc_begin="It is safe to use certain octal constants the way they are 
>>>> defined in
>>>> +specifications, manuals, and algorithm descriptions."
>>>> +-file_tag+={x86_svm_h, "^xen/arch/x86/hvm/svm/svm\\.h$"}
>>>> +-file_tag+={x86_emulate_c, "^xen/arch/x86/hvm/svm/emulate\\.c$"}
>>>> +-config=MC3R1.R7.1,reports+={safe, 
>>>> "any_area(any_loc(any_exp(file(x86_svm_h)&&macro(^INSTR_ENC$))))"}
>>>> +-config=MC3R1.R7.1,reports+={safe, 
>>>> "any_area(text(^.*octal-ok.*$)&&any_loc(any_exp(file(x86_emulate_c)&&macro(^MASK_EXTR$))))"}
>>>>  -doc_end
>>>>  
>>>>  -doc_begin="Violations in files that maintainers have asked to not modify 
>>>> in the
>>>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>>>> index 8511a189253b..26c6dbbc9ffe 100644
>>>> --- a/docs/misra/deviations.rst
>>>> +++ b/docs/misra/deviations.rst
>>>> @@ -90,6 +90,11 @@ Deviations related to MISRA C:2012 Rules:
>>>>           - __emulate_2op and __emulate_2op_nobyte
>>>>           - read_debugreg and write_debugreg
>>>>  
>>>> +   * - R7.1
>>>> +     - It is safe to use certain octal constants the way they are defined 
>>>> in
>>>> +       specifications, manuals, and algorithm descriptions.
>>>
>>> I think we should add that these cases have "octal-ok" as a in-code
>>> comment. Everything else looks OK so this small change could be done on
>>> commit.
>>
>> But that needs wording carefully, as it doesn't hold across the board:
>> Right now relevant MASK_EXTR() uses gain such comments, but INSTR_ENC()
>> ones (deliberately) don't.
> 
> What about:
> 
> * - R7.1
>   - It is safe to use certain octal constants the way they are defined
>     in specifications, manuals, and algorithm descriptions. Such places
>     are marked safe with a /* octal-ok */ in-code comment, or with a SAF
>     comment (see safe.json).

Fine with me.

Jan

Reply via email to