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

[XEN PATCH 1/5] gnttab: address violation of MISRA C Rule 5.5


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Dmytro Prokopchuk1 <dmytro_prokopchuk1@xxxxxxxx>
  • Date: Fri, 4 Jul 2025 20:39:33 +0000
  • Accept-language: en-US, uk-UA, ru-RU
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HwsGS5179KhQq+DoYylCMb1ujqL+m54UlfDUzyF979w=; b=B/cVCuVlEiwRXmMUkhS2gXqKhVqRERIjONqNUPOTxwGYb/ccjx/vM6rqPTMG4Z0uojyCO066YCG76a8Xwg0Z+aKePhMpmL3O3baK0TVXc10GUYmZgyd2C1KkkaDXlO7LhYdjeK0245ELFM/3Hk+yT1DPjtUimsz8wE9F2W4XPgF4gP1uww8S2yuRZvo8Gl2MLYAknpkQD8i8etxNs0PnBJo1fYEFoSIDMT/Ss23xZQe2k27vLqGAVgksc6qqGxIJkqyti3+P6lXDh4Qp1BwL1DXJeKYbKL96D/Nf0L60rpy7io/FNYU/oKiGA32K98StK1u3KL0WuX/DeApvXiG39A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ITNrJ4M0P6kqifRbj86j9jRFnaKDiLsiDucd1FHYK+CIElqZA46ujZllcK7OLmQAsB0ifx54q+QgEmLJJdTQLnOWSMApm8IwPUryeFh8An/2Vl3yhlDKWJNIS0LhhKAW8/CkDW1HIWrswjpm4/hqVcfc9dvN5sFFCGqmdDWhrxn6y7u/MxPEv2f41eLM3QthULdRGD3K7usKXnnaQyIozUaA7DFsiVSCxlCK6s6UzT+4Ld292/IoLBLojzBR5OGsWdKaklVLKaDaqI4in09vZHiqlygl1A2P5ZXpydriA1FuWLeLYLT9Oa/v/K7LuR1SzbcOIj7IeyfJWbXiHIK8NA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: Dmytro Prokopchuk1 <dmytro_prokopchuk1@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Fri, 04 Jul 2025 20:39:48 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHb7SO/ocKpxuM76k2AQCjdidhw/g==
  • Thread-topic: [XEN PATCH 1/5] gnttab: address violation of MISRA C Rule 5.5

Address a violation of MISRA C:2012 Rule 5.5:
"Identifiers shall be distinct from macro names".

Reports for service MC3A2.R5.5:
xen/common/grant_table.c: non-compliant macro 'update_gnttab_par'
xen/common/grant_table.c: non-compliant macro 'parse_gnttab_limit'

The macros above are intended to discard function arguments (unused1, unused2)
when compiling with different configurations of CONFIG_HYPFS.
This can lead to confusion and unexpected behavior
because the macro name and the function name are identical.
Split the code and create two distinct function signatures.
This ensures that the code behaves predictably and remains compliant.

Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@xxxxxxxx>
---
 xen/common/grant_table.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index cf131c43a1..f3282a1d7b 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -126,18 +126,12 @@ static void __init cf_check 
max_maptrack_frames_init(struct param_hypfs *par)
     update_gnttab_par(opt_max_maptrack_frames, par,
                       opt_max_maptrack_frames_val);
 }
-#else
-#define update_gnttab_par(v, unused1, unused2)     update_gnttab_par(v)
-#define parse_gnttab_limit(a, v, unused1, unused2) parse_gnttab_limit(a, v)
-
-static void update_gnttab_par(unsigned int val, struct param_hypfs *par,
-                              char *parval)
-{
-}
-#endif
 
 static int parse_gnttab_limit(const char *arg, unsigned int *valp,
                               struct param_hypfs *par, char *parval)
+#else
+static int parse_gnttab_limit(const char *arg, unsigned int *valp)
+#endif
 {
     const char *e;
     unsigned long val;
@@ -150,7 +144,9 @@ static int parse_gnttab_limit(const char *arg, unsigned int 
*valp,
         return -ERANGE;
 
     *valp = val;
+#ifdef CONFIG_HYPFS
     update_gnttab_par(val, par, parval);
+#endif
 
     return 0;
 }
@@ -161,9 +157,13 @@ custom_runtime_param("gnttab_max_frames", 
parse_gnttab_max_frames,
 
 static int cf_check parse_gnttab_max_frames(const char *arg)
 {
+#ifdef CONFIG_HYPFS
     return parse_gnttab_limit(arg, &opt_max_grant_frames,
                               param_2_parfs(parse_gnttab_max_frames),
                               opt_max_grant_frames_val);
+#else
+    return parse_gnttab_limit(arg, &opt_max_grant_frames);
+#endif
 }
 
 static int cf_check parse_gnttab_max_maptrack_frames(const char *arg);
@@ -173,9 +173,13 @@ custom_runtime_param("gnttab_max_maptrack_frames",
 
 static int cf_check parse_gnttab_max_maptrack_frames(const char *arg)
 {
+#ifdef CONFIG_HYPFS
     return parse_gnttab_limit(arg, &opt_max_maptrack_frames,
                               param_2_parfs(parse_gnttab_max_maptrack_frames),
                               opt_max_maptrack_frames_val);
+#else
+    return parse_gnttab_limit(arg, &opt_max_maptrack_frames);
+#endif
 }
 
 #ifndef GNTTAB_MAX_VERSION
-- 
2.43.0



 


Rackspace

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