[PATCH v2] docs/misra: add Rule 7.4 and 9.4

Stefano Stabellini posted 1 patch 9 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20230710202835.2052428-1-sstabellini@kernel.org
docs/misra/rules.rst | 14 ++++++++++++++
1 file changed, 14 insertions(+)
[PATCH v2] docs/misra: add Rule 7.4 and 9.4
Posted by Stefano Stabellini 9 months, 3 weeks ago
From: Stefano Stabellini <stefano.stabellini@amd.com>

Rule 9.4 is non-controversial and we have no violations.

Rule 7.4 is considered a good idea with the caveat that assigning a
string literal to const void is allowed. I added a note to specify it.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- improve rule 7.4 note
---
 docs/misra/rules.rst | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 622f35410c..67ee8c029e 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -203,6 +203,15 @@ maintainers if you want to suggest a change.
      - The lowercase character l shall not be used in a literal suffix
      -
 
+   * - `Rule 7.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_04.c>`_
+     - Required
+     - A string literal shall not be assigned to an object unless the
+       objects type is pointer to const-qualified char
+     - All "character types" are permitted, as long as the string
+       element type and the character type match. (There should be no
+       casts.) Assigning a string literal to any object with type
+       "pointer to const-qualified void" is allowed.
+
    * - `Rule 8.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_01.c>`_
      - Required
      - Types shall be explicitly specified
@@ -275,6 +284,11 @@ maintainers if you want to suggest a change.
        braces
      -
 
+   * - `Rule 9.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_09_04.c>`_
+     - Required
+     - An element of an object shall not be initialized more than once
+     -
+
    * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_
      - Mandatory
      - The sizeof operator shall not have an operand which is a function
-- 
2.25.1
Re: [PATCH v2] docs/misra: add Rule 7.4 and 9.4
Posted by Luca Fancellu 9 months, 3 weeks ago

> On 10 Jul 2023, at 21:28, Stefano Stabellini <sstabellini@kernel.org> wrote:
> 
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Rule 9.4 is non-controversial and we have no violations.
> 
> Rule 7.4 is considered a good idea with the caveat that assigning a
> string literal to const void is allowed. I added a note to specify it.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> Changes in v2:
> - improve rule 7.4 note
> ---
> docs/misra/rules.rst | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
> 
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 622f35410c..67ee8c029e 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -203,6 +203,15 @@ maintainers if you want to suggest a change.
>      - The lowercase character l shall not be used in a literal suffix
>      -
> 
> +   * - `Rule 7.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_04.c>`_
> +     - Required
> +     - A string literal shall not be assigned to an object unless the
> +       objects type is pointer to const-qualified char

NIT: Should it be s/objects/object/ ?

> +     - All "character types" are permitted, as long as the string
> +       element type and the character type match. (There should be no
> +       casts.) Assigning a string literal to any object with type
> +       "pointer to const-qualified void" is allowed.
> +
>    * - `Rule 8.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_01.c>`_
>      - Required
>      - Types shall be explicitly specified
> @@ -275,6 +284,11 @@ maintainers if you want to suggest a change.
>        braces
>      -
> 
> +   * - `Rule 9.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_09_04.c>`_
> +     - Required
> +     - An element of an object shall not be initialized more than once
> +     -
> +
>    * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_
>      - Mandatory
>      - The sizeof operator shall not have an operand which is a function
> -- 
> 2.25.1
> 
> 

Apart from that, I’ve used the file with our script to import the rules and it worked.

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>



Re: [PATCH v2] docs/misra: add Rule 7.4 and 9.4
Posted by Stefano Stabellini 9 months, 2 weeks ago
On Tue, 11 Jul 2023, Luca Fancellu wrote:
> > On 10 Jul 2023, at 21:28, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > 
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > Rule 9.4 is non-controversial and we have no violations.
> > 
> > Rule 7.4 is considered a good idea with the caveat that assigning a
> > string literal to const void is allowed. I added a note to specify it.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > Changes in v2:
> > - improve rule 7.4 note
> > ---
> > docs/misra/rules.rst | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> > 
> > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> > index 622f35410c..67ee8c029e 100644
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -203,6 +203,15 @@ maintainers if you want to suggest a change.
> >      - The lowercase character l shall not be used in a literal suffix
> >      -
> > 
> > +   * - `Rule 7.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_07_04.c>`_
> > +     - Required
> > +     - A string literal shall not be assigned to an object unless the
> > +       objects type is pointer to const-qualified char
> 
> NIT: Should it be s/objects/object/ ?
> 
> > +     - All "character types" are permitted, as long as the string
> > +       element type and the character type match. (There should be no
> > +       casts.) Assigning a string literal to any object with type
> > +       "pointer to const-qualified void" is allowed.
> > +
> >    * - `Rule 8.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_08_01.c>`_
> >      - Required
> >      - Types shall be explicitly specified
> > @@ -275,6 +284,11 @@ maintainers if you want to suggest a change.
> >        braces
> >      -
> > 
> > +   * - `Rule 9.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_09_04.c>`_
> > +     - Required
> > +     - An element of an object shall not be initialized more than once
> > +     -
> > +
> >    * - `Rule 12.5 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_12_05.c>`_
> >      - Mandatory
> >      - The sizeof operator shall not have an operand which is a function
> > -- 
> > 2.25.1
> > 
> > 
> 
> Apart from that, I’ve used the file with our script to import the rules and it worked.
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
 
Thanks! I fixed the typo on commit
Re: [PATCH v2] docs/misra: add Rule 7.4 and 9.4
Posted by Jan Beulich 9 months, 3 weeks ago
On 10.07.2023 22:28, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Rule 9.4 is non-controversial and we have no violations.
> 
> Rule 7.4 is considered a good idea with the caveat that assigning a
> string literal to const void is allowed. I added a note to specify it.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Acked-by: Jan Beulich <jbeulich@suse.com>