From patchwork Tue Apr 30 14:28:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13649358 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 33368C10F16 for ; Tue, 30 Apr 2024 14:28:36 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.714936.1116339 (Exim 4.92) (envelope-from ) id 1s1oT6-0007O4-RC; Tue, 30 Apr 2024 14:28:28 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 714936.1116339; Tue, 30 Apr 2024 14:28:28 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s1oT6-0007Nx-Nc; Tue, 30 Apr 2024 14:28:28 +0000 Received: by outflank-mailman (input) for mailman id 714936; Tue, 30 Apr 2024 14:28:27 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s1oT5-00072Z-4B for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:28:27 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id e7a5dfa1-06fd-11ef-b4bb-af5377834399; Tue, 30 Apr 2024 16:28:25 +0200 (CEST) Received: from nico.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 9FF444EE0753; Tue, 30 Apr 2024 16:28:23 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: e7a5dfa1-06fd-11ef-b4bb-af5377834399 From: Nicola Vetrini To: xen-devel@lists.xenproject.org, nicola.vetrini@bugseng.com Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com, julien@xen.org, Volodymyr Babchuk Subject: [XEN PATCH v2 1/3] drivers: char: address violation of MISRA C Rule 20.7 Date: Tue, 30 Apr 2024 16:28:14 +0200 Message-Id: <3ae8aa13a5562440cf60e4b30f713e5b2f73c577.1714487169.git.nicola.vetrini@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 MISRA C Rule 20.7 states: "Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses". Therefore, some macro definitions should gain additional parentheses to ensure that all current and future users will be safe with respect to expansions that can possibly alter the semantics of the passed-in macro parameter. No functional chage. Signed-off-by: Nicola Vetrini Reviewed-by: Stefano Stabellini --- Changes in v2: - drop excess parentheses from val parameter. --- xen/drivers/char/omap-uart.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c index 03b5b66e7acb..e0128225f927 100644 --- a/xen/drivers/char/omap-uart.c +++ b/xen/drivers/char/omap-uart.c @@ -48,8 +48,9 @@ /* System configuration register */ #define UART_OMAP_SYSC_DEF_CONF 0x0d /* autoidle mode, wakeup is enabled */ -#define omap_read(uart, off) readl((uart)->regs + (off<regs + (off<regs + ((off) << REG_SHIFT)) +#define omap_write(uart, off, val) writel(val, (uart)->regs + \ + ((off) << REG_SHIFT)) static struct omap_uart { u32 baud, clock_hz, data_bits, parity, stop_bits, fifo_size; From patchwork Tue Apr 30 14:28:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13649359 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D46D5C4345F for ; Tue, 30 Apr 2024 14:28:37 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.714937.1116349 (Exim 4.92) (envelope-from ) id 1s1oT8-0007dV-2B; Tue, 30 Apr 2024 14:28:30 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 714937.1116349; Tue, 30 Apr 2024 14:28:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s1oT7-0007dN-VI; Tue, 30 Apr 2024 14:28:29 +0000 Received: by outflank-mailman (input) for mailman id 714937; Tue, 30 Apr 2024 14:28:28 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s1oT6-00077h-8X for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:28:28 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id e8efd52b-06fd-11ef-909b-e314d9c70b13; Tue, 30 Apr 2024 16:28:27 +0200 (CEST) Received: from nico.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id BB4C04EE0754; Tue, 30 Apr 2024 16:28:25 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: e8efd52b-06fd-11ef-909b-e314d9c70b13 From: Nicola Vetrini To: xen-devel@lists.xenproject.org, nicola.vetrini@bugseng.com Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com, julien@xen.org, Anthony PERARD , Andrew Cooper , George Dunlap , Jan Beulich Subject: [XEN PATCH v2 2/3] xen/unaligned: address violation of MISRA C Rule 20.7 Date: Tue, 30 Apr 2024 16:28:15 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 MISRA C Rule 20.7 states: "Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses". Therefore, some macro definitions should gain additional parentheses to ensure that all current and future users will be safe with respect to expansions that can possibly alter the semantics of the passed-in macro parameter. No functional change. Signed-off-by: Nicola Vetrini --- Somewhat surprisingly, the change in the tools directory is also needed, otherwise some CI build jobs fail (see e.g. [1]). This is not undefined behaviour as long as the two definitions are kept in sync, following section 6.10.3p2 of the C99 standard, but having the definition in common-macros.h is still a potential problem. [1] https://gitlab.com/xen-project/people/bugseng/xen/-/jobs/6742878558 --- tools/include/xen-tools/common-macros.h | 2 +- xen/include/xen/unaligned.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h index 07aed92684b5..60912225cb7a 100644 --- a/tools/include/xen-tools/common-macros.h +++ b/tools/include/xen-tools/common-macros.h @@ -102,7 +102,7 @@ #define put_unaligned_t(type, val, ptr) do { \ struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr); \ - ptr_->x = val; \ + ptr_->x = (val); \ } while (0) #define get_unaligned(ptr) get_unaligned_t(typeof(*(ptr)), ptr) diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h index 3eda0ece1199..2e8238d45c54 100644 --- a/xen/include/xen/unaligned.h +++ b/xen/include/xen/unaligned.h @@ -19,7 +19,7 @@ #define put_unaligned_t(type, val, ptr) do { \ struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr); \ - ptr_->x = val; \ + ptr_->x = (val); \ } while (0) #define get_unaligned(ptr) get_unaligned_t(typeof(*(ptr)), ptr) From patchwork Tue Apr 30 14:28:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13649360 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EF770C10F16 for ; Tue, 30 Apr 2024 14:28:38 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.714938.1116359 (Exim 4.92) (envelope-from ) id 1s1oT9-0007tI-9F; Tue, 30 Apr 2024 14:28:31 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 714938.1116359; Tue, 30 Apr 2024 14:28:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s1oT9-0007tA-5A; Tue, 30 Apr 2024 14:28:31 +0000 Received: by outflank-mailman (input) for mailman id 714938; Tue, 30 Apr 2024 14:28:29 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s1oT7-00077h-8t for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:28:29 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id e94d9a5e-06fd-11ef-909b-e314d9c70b13; Tue, 30 Apr 2024 16:28:28 +0200 (CEST) Received: from nico.bugseng.com.homenet.telecomitalia.it (host-79-60-221-62.business.telecomitalia.it [79.60.221.62]) by support.bugseng.com (Postfix) with ESMTPSA id 9FE784EE0755; Tue, 30 Apr 2024 16:28:27 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: e94d9a5e-06fd-11ef-909b-e314d9c70b13 From: Nicola Vetrini To: xen-devel@lists.xenproject.org, nicola.vetrini@bugseng.com Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com, julien@xen.org, Andrew Cooper , George Dunlap , Jan Beulich , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Subject: [XEN PATCH v2 3/3] xen/pci: address violations of MISRA C Rule 20.7 Date: Tue, 30 Apr 2024 16:28:16 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 MISRA C Rule 20.7 states: "Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses". Therefore, some macro definitions should gain additional parentheses to ensure that all current and future users will be safe with respect to expansions that can possibly alter the semantics of the passed-in macro parameter. No functional change. Signed-off-by: Nicola Vetrini Acked-by: Jan Beulich --- xen/include/xen/pci_regs.h | 6 +++--- xen/include/xen/vpci.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h index 9909b27425a5..0bc18efabb74 100644 --- a/xen/include/xen/pci_regs.h +++ b/xen/include/xen/pci_regs.h @@ -445,9 +445,9 @@ #define PCI_EXP_RTSTA 32 /* Root Status */ /* Extended Capabilities (PCI-X 2.0 and Express) */ -#define PCI_EXT_CAP_ID(header) (header & 0x0000ffff) -#define PCI_EXT_CAP_VER(header) ((header >> 16) & 0xf) -#define PCI_EXT_CAP_NEXT(header) ((header >> 20) & 0xffc) +#define PCI_EXT_CAP_ID(header) ((header) & 0x0000ffff) +#define PCI_EXT_CAP_VER(header) (((header) >> 16) & 0xf) +#define PCI_EXT_CAP_NEXT(header) (((header) >> 20) & 0xffc) #define PCI_EXT_CAP_ID_ERR 1 #define PCI_EXT_CAP_ID_VC 2 diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h index e89c571890b2..6e4c972f35ed 100644 --- a/xen/include/xen/vpci.h +++ b/xen/include/xen/vpci.h @@ -23,7 +23,7 @@ typedef int vpci_register_init_t(struct pci_dev *dev); #define REGISTER_VPCI_INIT(x, p) \ static vpci_register_init_t *const x##_entry \ - __used_section(".data.vpci." p) = x + __used_section(".data.vpci." p) = (x) /* Assign vPCI to device by adding handlers. */ int __must_check vpci_assign_device(struct pci_dev *pdev);