From patchwork Mon Dec 18 10:17:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicola Vetrini X-Patchwork-Id: 13496520 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 3C325C4706C for ; Mon, 18 Dec 2023 10:17:57 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.655804.1023618 (Exim 4.92) (envelope-from ) id 1rFAgy-0005pA-Fa; Mon, 18 Dec 2023 10:17:44 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 655804.1023618; Mon, 18 Dec 2023 10:17:44 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1rFAgy-0005p1-C6; Mon, 18 Dec 2023 10:17:44 +0000 Received: by outflank-mailman (input) for mailman id 655804; Mon, 18 Dec 2023 10:17:42 +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 1rFAgw-00055V-T3 for xen-devel@lists.xenproject.org; Mon, 18 Dec 2023 10:17:42 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id addb1bd8-9d8e-11ee-98eb-6d05b1d4d9a1; Mon, 18 Dec 2023 11:17:42 +0100 (CET) Received: from nico.bugseng.com (unknown [147.123.100.131]) by support.bugseng.com (Postfix) with ESMTPSA id 301BB4EE0C8A; Mon, 18 Dec 2023 11:17:41 +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: addb1bd8-9d8e-11ee-98eb-6d05b1d4d9a1 From: Nicola Vetrini To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Nicola Vetrini , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk Subject: [XEN PATCH v2 3/7] xen/arm: address MISRA C:2012 Rule 2.1 Date: Mon, 18 Dec 2023 11:17:29 +0100 Message-Id: <06857c133d1db8ab3a2eec5e0363be4358a0ec81.1702891792.git.nicola.vetrini@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 There are no paths that can reach the last return statement of function 'vgic_v3_its_mmio_write' in 'vcig-v3-its.c' and 'arch_memory_op' in 'arch/arm/mm.c', thus violating MISRA C:2012 Rule 2.1: "A project shall not contain unreachable code". Therefore, an ASSERT_UNREACHABLE() is inserted to remove the unreachable return statement and protect against possible mistakes. Signed-off-by: Nicola Vetrini Reviewed-by: Stefano Stabellini --- Changes in v2: - Changed resolution strategy to have an ASSERT_UNREACHABLE() before the return. --- xen/arch/arm/mm.c | 1 + xen/arch/arm/vgic-v3-its.c | 1 + 2 files changed, 2 insertions(+) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index eeb65ca6bb79..b15a18a49412 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -283,6 +283,7 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg) return -ENOSYS; } + ASSERT_UNREACHABLE(); return 0; } diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c index 05429030b539..70b5aeb82219 100644 --- a/xen/arch/arm/vgic-v3-its.c +++ b/xen/arch/arm/vgic-v3-its.c @@ -1409,6 +1409,7 @@ static int vgic_v3_its_mmio_write(struct vcpu *v, mmio_info_t *info, return 0; } + ASSERT_UNREACHABLE(); return 1; write_ignore_64: