From patchwork Fri Nov 24 17:29:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simone Ballarin X-Patchwork-Id: 13468060 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 7A834C61DF4 for ; Fri, 24 Nov 2023 17:30:49 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.640859.999604 (Exim 4.92) (envelope-from ) id 1r6a0f-0002nc-Qy; Fri, 24 Nov 2023 17:30:33 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 640859.999604; Fri, 24 Nov 2023 17:30:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1r6a0f-0002nV-OR; Fri, 24 Nov 2023 17:30:33 +0000 Received: by outflank-mailman (input) for mailman id 640859; Fri, 24 Nov 2023 17:30:31 +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 1r6a0d-0002YK-R9 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:30:31 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 2861d191-8aef-11ee-9b0e-b553b5be7939; Fri, 24 Nov 2023 18:30:27 +0100 (CET) Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it [37.182.35.120]) by support.bugseng.com (Postfix) with ESMTPSA id 4D9794EE073C; Fri, 24 Nov 2023 18:30:26 +0100 (CET) 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: 2861d191-8aef-11ee-9b0e-b553b5be7939 From: Simone Ballarin To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Simone Ballarin , Doug Goldstein , Stefano Stabellini , Andrew Cooper , George Dunlap , Jan Beulich , Julien Grall , Wei Liu , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , =?utf-8?q?Roger_Pau_Monn?= =?utf-8?q?=C3=A9?= , Dario Faggioli Subject: [XEN PATCH v2 0/3] xen: address violations of MISRA C:2012 Rule 13.1 Date: Fri, 24 Nov 2023 18:29:40 +0100 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 This series contains some changes and deviation to address reports of MISRA C:2012 Rule 13.1: Initializer lists shall not contain persistent side effects An assignment has been moved outside the initializer lists, other violations have been deviated with SAF comments. Function calls do not necessarily have side-effects, in these cases this patch proposes to add ECLAIR pure, const or noeffect attributes whenever possible. ECLAIR pure and const attributes have the same definition of the corresponding GCC attributes, noeffect attribute has the following definition: "like pure but can also read volatile variable not triggering side effects" It has been decided to avoid GCC/clang attributes to avoid potentially dangerous optimisations from the compiler. Changes in v2: - prefer ECLAIR attributes over GCC attributes; - replace ECL deviations with equivalent SAF deviations; - deviate violations caused by harmless volatile asm; - deviate violations caused by debug and logging macros/functions. Simone Ballarin (3): automation/eclair: tag function calls to address violations of MISRA C:2012 Rule 13.1 xen/arm: add SAF deviation for debugging and logging effects xen: address violations of MISRA C:2012 Rule 13.1 .../ECLAIR/call_properties.ecl | 22 +++++++++++++++++++ docs/misra/safe.json | 16 ++++++++++++++ xen/arch/arm/device.c | 1 + xen/arch/arm/guestcopy.c | 4 ++++ xen/arch/x86/hvm/hvm.c | 1 + xen/common/sched/core.c | 3 +++ xen/drivers/char/ns16550.c | 6 +++-- 7 files changed, 51 insertions(+), 2 deletions(-)