All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [RFC PATCH 4/4] xen: Justify linker script defined symbols in include/xen/kernel.h
Date: Mon,  7 Nov 2022 10:47:39 +0000	[thread overview]
Message-ID: <20221107104739.10404-5-luca.fancellu@arm.com> (raw)
In-Reply-To: <20221107104739.10404-1-luca.fancellu@arm.com>

Eclair and Coverity found violation of the MISRA rule 8.6 for the
symbols _start, _end, start, _stext, _etext, _srodata, _erodata,
_sinittext, _einittext which are declared in
xen/include/xen/kernel.h.
All those symbols are defined by the liker script so we can deviate
from the rule 8.6 for these cases.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 docs/misra/safe.json     | 9 +++++++++
 xen/include/xen/kernel.h | 4 ++++
 2 files changed, 13 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index e079d3038120..e3c8a1d8eb36 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -3,6 +3,15 @@
     "content": [
         {
             "id": "SAF-0-safe",
+            "analyser": {
+                "eclair": "MC3R1.R8.6",
+                "coverity": "misra_c_2012_rule_8_6_violation"
+            },
+            "name": "Rule 8.6: linker script defined symbols",
+            "text": "It is safe to declare this symbol because it is defined in the linker script."
+        },
+        {
+            "id": "SAF-1-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
index 8cd142032d3b..efcd24b355d6 100644
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -65,24 +65,28 @@
 	1;                                      \
 })
 
+/* SAF-0-safe R8.6 linker script defined symbols */
 extern char _start[], _end[], start[];
 #define is_kernel(p) ({                         \
     char *__p = (char *)(unsigned long)(p);     \
     (__p >= _start) && (__p < _end);            \
 })
 
+/* SAF-0-safe R8.6 linker script defined symbols */
 extern char _stext[], _etext[];
 #define is_kernel_text(p) ({                    \
     char *__p = (char *)(unsigned long)(p);     \
     (__p >= _stext) && (__p < _etext);          \
 })
 
+/* SAF-0-safe R8.6 linker script defined symbols */
 extern const char _srodata[], _erodata[];
 #define is_kernel_rodata(p) ({                  \
     const char *__p = (const char *)(unsigned long)(p);     \
     (__p >= _srodata) && (__p < _erodata);      \
 })
 
+/* SAF-0-safe R8.6 linker script defined symbols */
 extern char _sinittext[], _einittext[];
 #define is_kernel_inittext(p) ({                \
     char *__p = (char *)(unsigned long)(p);     \
-- 
2.17.1



  parent reply	other threads:[~2022-11-07 10:48 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-07 10:47 [RFC PATCH 0/4] Static analyser finding deviation Luca Fancellu
2022-11-07 10:47 ` [RFC PATCH 1/4] xen/Makefile: add analysis-coverity and analysis-eclair Luca Fancellu
2022-11-07 16:35   ` Jan Beulich
2022-11-08 10:59     ` Luca Fancellu
2022-11-08 11:48       ` Jan Beulich
2022-11-08 14:00         ` Luca Fancellu
2022-11-08 15:49           ` Jan Beulich
2022-11-08 17:13             ` Luca Fancellu
2022-11-09  8:31               ` Jan Beulich
2022-11-09 10:08                 ` Luca Fancellu
2022-11-09 10:36                   ` Jan Beulich
2022-11-11 10:42                     ` Luca Fancellu
2022-11-11 13:10                       ` Jan Beulich
2022-11-11 20:52                         ` Stefano Stabellini
2022-11-14  7:30                           ` Jan Beulich
2022-11-14 12:30                             ` Luca Fancellu
2022-11-14 16:05                               ` Jan Beulich
2022-11-14 17:16                               ` Anthony PERARD
2022-11-14 16:25   ` Anthony PERARD
2022-11-25  8:50     ` Luca Fancellu
2022-11-07 10:47 ` [RFC PATCH 2/4] xen/Makefile: add analysis-cppcheck and analysis-cppcheck-html Luca Fancellu
2022-11-07 10:47 ` [RFC PATCH 3/4] tools/misra: fix skipped rule numbers Luca Fancellu
2022-11-07 10:47 ` Luca Fancellu [this message]
2022-11-07 11:49   ` [RFC PATCH 4/4] xen: Justify linker script defined symbols in include/xen/kernel.h Jan Beulich
2022-11-07 11:53     ` Luca Fancellu
2022-11-07 12:56       ` Jan Beulich
2022-11-07 19:06         ` Julien Grall
2022-11-08 11:00           ` Luca Fancellu
2022-11-08 11:32             ` Julien Grall
2022-11-08 11:55               ` Luca Fancellu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221107104739.10404-5-luca.fancellu@arm.com \
    --to=luca.fancellu@arm.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=bertrand.marquis@arm.com \
    --cc=george.dunlap@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=sstabellini@kernel.org \
    --cc=wei.chen@arm.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.