[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] misra: add deviation of Rule 17.7


  • To: Dmytro Prokopchuk1 <dmytro_prokopchuk1@xxxxxxxx>
  • From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
  • Date: Tue, 26 Aug 2025 15:18:48 +0200
  • Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1756214328; h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To: References:Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=mvN2vKUuIhWjjpE/sSy78Bf6+wHBAQKLnC289fBo6vw=; b=sjEGCPjWLsfl20k/tvwEX4FPdI02NqSWtwuKSjbhgW50AlgkCPQuZdr+uuypyDra/n8E nvxJZb3bt1C5O3Yg8e0ODd7oWjWtKEjNhSyUC/8doutcZu1+FdcAxwdsNTtn79pUeIrSN a5fyrU29CFZ20k3/DjmzwJra6UN2amzksp3JANYwOFBqPW6P+UT6luspQqFbDtCuODoZo rnTxZLRs61JuvOuMmx6603rnt/iAfL9MThF+fPxynsnNyz3GZ2CAl2yEXXhvZ3kY/ZFZr 1cMEBYuCufAxSiVQEc9bx1TV5vtu4emckdgMFjmLafFxNA+PfTJPJQ2WnWBrVS8tjwvKa QouUNq/botCdWfzvIeBTnDK9N/mL8gGGGQp6lHVc9/dgQV0QRut2x0lCw1SeeL2lOFA4L cZxfuXYfsVUXLz5HfcEPXkTzUSCX5tE0XU+LHlAH9J6dPGCBdFUSV9hA6jegcarGU5+YF 0oTMn+nJVzYCZmtR/PFQ72J9Yji+2AGzNzzu1HwXAuTFYwfx/qHWrmpb4IO03xEdcuuxc 8OerEkCe+zYIKKbD6+LSjJnAwWvm6P0VGhFDFZJZMxrfJnoAtW3hufZWCP/q2MNg3zgd5 IZI04QbfQ9EeT9sRsBgQcvdKGqJwI74Z3/lZCZ7WzkiHt6BVNTZi/mqx0vA6PwI=
  • Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1756214328; b=DFrdtsKvb3qM7POoTeQ0ILGngfMVdO50sIsXtaFD1TNPN0oaNSXu2X6go3DQztp+kb4A O40WBrfzF65zr7R3yu4MmQT8Qatp92YMshZS/CC3buXJcZ9dSbhYywXDzAcbcCAMgeLwt nrDlzKcBhEp/YZ5tC9JiYL1gaIeLkiuZVh7h8BTpNDg945TllZyzhijU9Klhlr+I+sKha 0NBSqvG6f/yXfMHgvYHNfySuhvvQf+5hwt+Wb3VrYGG2ckioBsB/sScTC+jqemzWKww/s mIpJOQQyt2isawVK3LDp95uXu+XAz3NvoO0cby467+ZGZ2lIUQ7R8aNiexikFDEAeoI1e ejd9jueVAZp6kkuwpohVl6wzCoX4+RekiI+eHimyKZY/3+4wSEg41Qko99/9Dx1NYt6Yv AaFcEJENeGmh/Wg8Lxyw1awdn6Ny2U/c4qQcrSW2+gcDO+jZN6750E9pSpcXoZw2c+fyH Lcw1/B9mv+nV/HD64FX3H4Wj67jQ3L7XDPVGZjQ8R34NJxOTjiisnBhQTZNbAzVqM3Htp ngY1c1rmk+KHIY1hHPZSl7Cp4e4QGlIZtMrfxCLI2n+SVAieG94qA5CkIQRjE0lAwbgFS aITZB10dCIsFvAi53lhBp+/ucupvRJ9wHRCsfmbiE/UlM56Jl00h6XRtZVigkJE=
  • Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Cc: Jan Beulich <jbeulich@xxxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 26 Aug 2025 13:18:56 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2025-08-26 15:14, Dmytro Prokopchuk1 wrote:
On 8/26/25 10:56, Nicola Vetrini wrote:
On 2025-08-26 09:45, Jan Beulich wrote:
On 26.08.2025 09:36, Dmytro Prokopchuk1 wrote:
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -575,6 +575,11 @@ safe."
 -config=MC3A2.R17.7,calls+={safe, "any()",
"decl(name(__builtin_memcpy||__builtin_memmove||__builtin_memset||
cpumask_check))"}
 -doc_end

+-doc_begin="It is safe to deviate functions like 'memcpy()',
'memset()', 'memmove()', as they return a value purely for convenience,
+their primary functionality (memory manipulation) remains
unaffected, and their return values are generally non-critical and
seldom relied upon."
+-config=MC3A2.R17.7,calls+={safe, "any()", "decl(name(memcpy||
memset||memmove))"}
+-doc_end
+
 #
 # Series 18.
 #
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -576,6 +576,13 @@ Deviations related to MISRA C:2012 Rules:
          - __builtin_memset()
          - cpumask_check()

+   * - R17.7
+     - It is safe to deviate functions like 'memcpy()', 'memset()',
'memmove()',
+       as they return a value purely for convenience, their primary
functionality
+       (memory manipulation) remains unaffected, and their return
values are
+       generally non-critical and seldom relied upon.
+     - Tagged as `safe` for ECLAIR.

I realize I may be overly nitpicky here, but in files named
deviations.* I find it
odd to read "It is safe to deviate ...". I further find the use of
"like" odd when
you enumerate the complete set anyway.

Updated wording (probably for the v3, if it's fine):

The functions 'memcpy()', 'memset()', and 'memmove()' return values
primarily for convenience.
The core functionality of these functions (memory manipulation) remains
unaffected, and their return values
are generally non-critical and seldom relied upon. Therefore, deviations
from this rule regarding their use
can be considered safe.


The last sentence reads a little strangely. I would write: "Therefore, violations of this rule due to these functions are deemed safe."

Dmytro.


I wonder whether the deviation wants generalizing anyway:
Informational return
values are generally okay to ignore. That is, the Eclair configuration
would be
limited to the three functions for now, but the text / comment could
already be
broader. Then, for example, open-coded uses of the corresponding
builtin functions
would also be covered right away.


While I understand the pragmatic reasoning, from a MISRA compliance
standpoint it would be better not to make the written justification and
the actual deviation diverge, and then wide both the ECLAIR
configuration and its justification suitably once new cases want to be
deviated. Other than that,

Reviewed-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>


--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.