From patchwork Wed May 15 07:34:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13664785 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 185B6C25B77 for ; Wed, 15 May 2024 07:34:48 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.721955.1125696 (Exim 4.92) (envelope-from ) id 1s799s-00052t-J2; Wed, 15 May 2024 07:34:40 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 721955.1125696; Wed, 15 May 2024 07:34:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s799s-00052m-GT; Wed, 15 May 2024 07:34:40 +0000 Received: by outflank-mailman (input) for mailman id 721955; Wed, 15 May 2024 07:34:38 +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 1s799q-0004ka-US for xen-devel@lists.xenproject.org; Wed, 15 May 2024 07:34:38 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 94e67609-128d-11ef-b4bb-af5377834399; Wed, 15 May 2024 09:34:37 +0200 (CEST) Received: from nico.bugseng.com (unknown [46.228.253.202]) by support.bugseng.com (Postfix) with ESMTPSA id 3FC664EE0745; Wed, 15 May 2024 09:34:36 +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: 94e67609-128d-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, Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Subject: [XEN PATCH 1/4] x86/vpmu: address violations of MISRA C Rule 20.7 Date: Wed, 15 May 2024 09:34:30 +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 Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich --- xen/arch/x86/cpu/vpmu_amd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c index db2fa420e14a..97e6315bd9f7 100644 --- a/xen/arch/x86/cpu/vpmu_amd.c +++ b/xen/arch/x86/cpu/vpmu_amd.c @@ -25,8 +25,8 @@ #define is_guest_mode(msr) ((msr) & (1ULL << MSR_F10H_EVNTSEL_GO_SHIFT)) #define is_pmu_enabled(msr) ((msr) & (1ULL << MSR_F10H_EVNTSEL_EN_SHIFT)) -#define set_guest_mode(msr) (msr |= (1ULL << MSR_F10H_EVNTSEL_GO_SHIFT)) -#define is_overflowed(msr) (!((msr) & (1ULL << (MSR_F10H_COUNTER_LENGTH-1)))) +#define set_guest_mode(msr) ((msr) |= (1ULL << MSR_F10H_EVNTSEL_GO_SHIFT)) +#define is_overflowed(msr) (!((msr) & (1ULL << (MSR_F10H_COUNTER_LENGTH - 1)))) static unsigned int __read_mostly num_counters; static const u32 __read_mostly *counters; From patchwork Wed May 15 07:34:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13664788 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 4CF5FC25B7B for ; Wed, 15 May 2024 07:34:49 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.721957.1125705 (Exim 4.92) (envelope-from ) id 1s799t-0005BH-8D; Wed, 15 May 2024 07:34:41 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 721957.1125705; Wed, 15 May 2024 07:34:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s799t-00059G-1d; Wed, 15 May 2024 07:34:41 +0000 Received: by outflank-mailman (input) for mailman id 721957; Wed, 15 May 2024 07:34:39 +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 1s799r-0004ka-Uk for xen-devel@lists.xenproject.org; Wed, 15 May 2024 07:34:39 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 9548029b-128d-11ef-b4bb-af5377834399; Wed, 15 May 2024 09:34:37 +0200 (CEST) Received: from nico.bugseng.com (unknown [46.228.253.202]) by support.bugseng.com (Postfix) with ESMTPSA id DAE474EE0739; Wed, 15 May 2024 09:34:36 +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: 9548029b-128d-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, Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Subject: [XEN PATCH 2/4] x86/hvm: address violations of MISRA C Rule 20.7 Date: Wed, 15 May 2024 09:34:31 +0200 Message-Id: <6d14b3283005cf1a30c4fa24f9841586a41e2b1b.1715757982.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 change. Signed-off-by: Nicola Vetrini Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich --- xen/arch/x86/hvm/mtrr.c | 2 +- xen/arch/x86/hvm/rtc.c | 2 +- xen/arch/x86/include/asm/hvm/save.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c index 32f74c1db03b..1079851f70ed 100644 --- a/xen/arch/x86/hvm/mtrr.c +++ b/xen/arch/x86/hvm/mtrr.c @@ -16,7 +16,7 @@ #include /* Get page attribute fields (PAn) from PAT MSR. */ -#define pat_cr_2_paf(pat_cr,n) ((((uint64_t)pat_cr) >> ((n)<<3)) & 0xff) +#define pat_cr_2_paf(pat_cr, n) ((((uint64_t)(pat_cr)) >> ((n) << 3)) & 0xff) /* Effective mm type lookup table, according to MTRR and PAT. */ static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = { diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c index 4bb1c7505534..72c7bdbfcd02 100644 --- a/xen/arch/x86/hvm/rtc.c +++ b/xen/arch/x86/hvm/rtc.c @@ -45,7 +45,7 @@ #define vrtc_domain(x) (container_of(x, struct pl_time, vrtc)->domain) #define vrtc_vcpu(x) (pt_global_vcpu_target(vrtc_domain(x))) #define epoch_year 1900 -#define get_year(x) (x + epoch_year) +#define get_year(x) ((x) + epoch_year) enum rtc_mode { rtc_mode_no_ack, diff --git a/xen/arch/x86/include/asm/hvm/save.h b/xen/arch/x86/include/asm/hvm/save.h index 8149aa113cb4..ec8de029319d 100644 --- a/xen/arch/x86/include/asm/hvm/save.h +++ b/xen/arch/x86/include/asm/hvm/save.h @@ -50,7 +50,7 @@ int _hvm_check_entry(struct hvm_domain_context *h, HVM_SAVE_LENGTH(x), true) == 0 ) \ { \ ptr = &(h)->data[(h)->cur]; \ - h->cur += HVM_SAVE_LENGTH(x); \ + (h)->cur += HVM_SAVE_LENGTH(x); \ } \ ptr; }) From patchwork Wed May 15 07:34:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13664786 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 33FA5C25B7A for ; Wed, 15 May 2024 07:34:49 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.721956.1125701 (Exim 4.92) (envelope-from ) id 1s799s-000567-TZ; Wed, 15 May 2024 07:34:40 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 721956.1125701; Wed, 15 May 2024 07:34:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s799s-000553-Oi; Wed, 15 May 2024 07:34:40 +0000 Received: by outflank-mailman (input) for mailman id 721956; Wed, 15 May 2024 07:34:39 +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 1s799r-0004nt-Iu for xen-devel@lists.xenproject.org; Wed, 15 May 2024 07:34:39 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 959f3b2c-128d-11ef-909d-e314d9c70b13; Wed, 15 May 2024 09:34:38 +0200 (CEST) Received: from nico.bugseng.com (unknown [46.228.253.202]) by support.bugseng.com (Postfix) with ESMTPSA id 85EC14EE0747; Wed, 15 May 2024 09:34:37 +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: 959f3b2c-128d-11ef-909d-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, Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Subject: [XEN PATCH 3/4] x86_64/uaccess: address violations of MISRA C Rule 20.7 Date: Wed, 15 May 2024 09:34:32 +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. xlat_malloc_init is touched for consistency, despite the construct being already deviated. No functional change. Signed-off-by: Nicola Vetrini Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich --- xen/arch/x86/include/asm/x86_64/uaccess.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/include/asm/x86_64/uaccess.h b/xen/arch/x86/include/asm/x86_64/uaccess.h index ba79f950fba9..c6fa3fd381bc 100644 --- a/xen/arch/x86/include/asm/x86_64/uaccess.h +++ b/xen/arch/x86/include/asm/x86_64/uaccess.h @@ -26,15 +26,16 @@ void free_compat_arg_xlat(struct vcpu *v); #define xlat_page_start ((unsigned long)COMPAT_ARG_XLAT_VIRT_BASE) #define xlat_page_size COMPAT_ARG_XLAT_SIZE #define xlat_page_left_size(xlat_page_current) \ - (xlat_page_start + xlat_page_size - xlat_page_current) + (xlat_page_start + xlat_page_size - (xlat_page_current)) #define xlat_malloc_init(xlat_page_current) do { \ - xlat_page_current = xlat_page_start; \ + (xlat_page_current) = xlat_page_start; \ } while (0) extern void *xlat_malloc(unsigned long *xlat_page_current, size_t size); -#define xlat_malloc_array(_p, _t, _c) ((_t *) xlat_malloc(&_p, sizeof(_t) * _c)) +#define xlat_malloc_array(_p, _t, _c) ((_t *) xlat_malloc(&(_p), \ + sizeof(_t) * (_c))) /* * Valid if in +ve half of 48-bit address space, or above Xen-reserved area. From patchwork Wed May 15 07:34:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13664787 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 30BA1C25B75 for ; Wed, 15 May 2024 07:34:49 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.721958.1125714 (Exim 4.92) (envelope-from ) id 1s799t-0005IJ-OH; Wed, 15 May 2024 07:34:41 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 721958.1125714; Wed, 15 May 2024 07:34:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1s799t-0005Eo-EK; Wed, 15 May 2024 07:34:41 +0000 Received: by outflank-mailman (input) for mailman id 721958; Wed, 15 May 2024 07:34:40 +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 1s799s-0004nt-8d for xen-devel@lists.xenproject.org; Wed, 15 May 2024 07:34:40 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 95fcfef3-128d-11ef-909d-e314d9c70b13; Wed, 15 May 2024 09:34:39 +0200 (CEST) Received: from nico.bugseng.com (unknown [46.228.253.202]) by support.bugseng.com (Postfix) with ESMTPSA id 310834EE0748; Wed, 15 May 2024 09:34:38 +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: 95fcfef3-128d-11ef-909d-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, Jan Beulich , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Subject: [XEN PATCH 4/4] x86_64/cpu_idle: address violations of MISRA C Rule 20.7 Date: Wed, 15 May 2024 09:34:33 +0200 Message-Id: <6c84f6f0bf93a00ab1acda2d39d31b1f3d5bf8aa.1715757982.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 change. Signed-off-by: Nicola Vetrini Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich --- xen/arch/x86/x86_64/cpu_idle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/x86_64/cpu_idle.c b/xen/arch/x86/x86_64/cpu_idle.c index fcd6fc0fc212..cc9febc03d60 100644 --- a/xen/arch/x86/x86_64/cpu_idle.c +++ b/xen/arch/x86/x86_64/cpu_idle.c @@ -93,7 +93,7 @@ long compat_set_cx_pminfo(uint32_t acpi_id, return -EFAULT; \ guest_from_compat_handle(states, (_s_)->states); \ \ - for ( i = 0; i < _s_->count; i++ ) \ + for ( i = 0; i < (_s_)->count; i++ ) \ { \ if ( unlikely(copy_from_guest_offset(&state, states, i, 1)) ) \ return -EFAULT; \