From patchwork Tue Sep 10 19:06:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Federico Serafini X-Patchwork-Id: 13799261 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 BB96CEDE9B0 for ; Tue, 10 Sep 2024 19:06:29 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.795995.1205519 (Exim 4.92) (envelope-from ) id 1so6Br-0006bT-7e; Tue, 10 Sep 2024 19:06:15 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 795995.1205519; Tue, 10 Sep 2024 19:06:15 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1so6Br-0006bM-58; Tue, 10 Sep 2024 19:06:15 +0000 Received: by outflank-mailman (input) for mailman id 795995; Tue, 10 Sep 2024 19:06:13 +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 1so6Bp-0006Mx-Kg for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 19:06:13 +0000 Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id bcef212e-6fa7-11ef-a0b5-8be0dac302b0; Tue, 10 Sep 2024 21:06:09 +0200 (CEST) Received: from truciolo.homenet.telecomitalia.it (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90]) by support.bugseng.com (Postfix) with ESMTPSA id 8D5634EE07CE; Tue, 10 Sep 2024 21:06:08 +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: bcef212e-6fa7-11ef-a0b5-8be0dac302b0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail; t=1725995168; bh=2hgBKwYohgvBFZOwcswNBiLDaYOqnK+3MTYLYQn89UY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MP9RpeK9lpYDz59Vg4QILJYM7ibJzYqqvouJUxMU1ai2gPfrqN3Vu6OOrrMVNio0S 9VbGgKR8ojkq8l/xEHW4jFxcm3WBYrZt2HEeZIv7dylgUJS6ElT57bvLvJ3KW0pOXw dfOcymW5jDKBnl9sYFYCf4tFBL1BiRROp8nto+JHSLogJw8vphcLsRITJ9Rx4Nv8yY zQgldko8dHtEZTqgkuQ5oelZPSfE1rdsJL8hOXcIw5MbnlKTEtX5DTlGeQKGSUwwll ww6Wj4YmqgeHP3TYEMVqfVd0IOUlyPGUC3tOcZIEHdhZFIafvV2cGc7rdRkV9jo8zz YjYx31kEXt1LA== From: Federico Serafini To: xen-devel@lists.xenproject.org Cc: consulting@bugseng.com, Federico Serafini , "Daniel P. Smith" , =?utf-8?q?Marek_Marczykow?= =?utf-8?q?ski-G=C3=B3recki?= , Jan Beulich , Andrew Cooper Subject: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6 Date: Tue, 10 Sep 2024 21:06:00 +0200 Message-Id: <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Refactor the code to improve readability and address violations of MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall not contain any expression which has potential side effect"). No functional change. Suggested-by: Andrew Cooper Signed-off-by: Federico Serafini --- xen/common/efi/runtime.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c index d03e5c90ce..acf08dcaa3 100644 --- a/xen/common/efi/runtime.c +++ b/xen/common/efi/runtime.c @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info) info->cfg.addr = __pa(efi_ct); info->cfg.nent = efi_num_ct; break; + case XEN_FW_EFI_VENDOR: + { + XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name = + guest_handle_cast(info->vendor.name, CHAR16); + if ( !efi_fw_vendor ) return -EOPNOTSUPP; + info->vendor.revision = efi_fw_revision; n = info->vendor.bufsz / sizeof(*efi_fw_vendor); - if ( !guest_handle_okay(guest_handle_cast(info->vendor.name, - CHAR16), n) ) + if ( !guest_handle_okay(vendor_name, n) ) return -EFAULT; + for ( i = 0; i < n; ++i ) { if ( __copy_to_guest_offset(info->vendor.name, i, @@ -267,6 +273,8 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info) break; } break; + } + case XEN_FW_EFI_MEM_INFO: for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size ) {