From nobody Thu May 16 21:36:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1700597777; cv=none; d=zohomail.com; s=zohoarc; b=f93mPx+NdT7WiAQdnlOPVNnoQ++dk946T/F2+WgVI1U1LpdTpYcMfIgUOSIr3HBqpbnpttbZfwAwZmbdaUrOwck5OHrsU7kt+2eMKQdACrElhhKB8aplfvDhYDnFvaG/A5C58hKeEwiNRxgAEgH6JK2jv29/TcI4/jf2ARvo+N4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700597777; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=17G6H7ySmi1CO6vmOIA9LXnXz0kpl2JFsNe+IivgGnI=; b=DsKx1jGxQ9H0vQ1X42CvFN7RQS4zaD2v81F2MD7T+ZXQL2KJrq4D9gw8Wsw0oPtEdXlLj3IHpgjbymO2YzDBrNy/TAcUcFv1EsSWNqur2sx5N69RImtf/tZmTNg5RxViwY671i92q64+jCDmhwCA8YeliGrXhYQECWidHTWA1N8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 17005977775551002.3871859746494; Tue, 21 Nov 2023 12:16:17 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.638180.994509 (Exim 4.92) (envelope-from ) id 1r5XA6-0007CJ-F2; Tue, 21 Nov 2023 20:15:58 +0000 Received: by outflank-mailman (output) from mailman id 638180.994509; Tue, 21 Nov 2023 20:15:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1r5XA6-0007CC-Bs; Tue, 21 Nov 2023 20:15:58 +0000 Received: by outflank-mailman (input) for mailman id 638180; Tue, 21 Nov 2023 20:15:57 +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 1r5XA5-0007Bx-BF for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:15:57 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c5e7804c-88aa-11ee-9b0e-b553b5be7939; Tue, 21 Nov 2023 21:15:55 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version 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: c5e7804c-88aa-11ee-9b0e-b553b5be7939 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1700597755; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SMthb4NtkNO2RAGaFUKKyekiWRpIMs0yeackPSSJ3Nc=; b=VfD5t2hsDMSClkAICzWKTQf08hWf3LOSUF/vVy0p7chzOJTqhf3iZ9RO 41yZWjkIkJ9MYsgj6Ns3bQQ9iLcvmjJuxlgkCDJnmsri4j/6VCxnbEY5l y6kZ3h026+VzlvetAG25Gl5430LIgHaIrOTEdOx9vScq7GPMcrxKSKkDV w=; X-CSE-ConnectionGUID: +GZ+UsK9SGatMSUbv7Cxvg== X-CSE-MsgGUID: eEvee9pQQCazgXO2Vt1ohA== Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 127464600 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.159.70 X-Policy: $RELAYED X-ThreatScanner-Verdict: Negative IronPort-Data: A9a23:IFo2MKN8Rs/+wvfvrR1Dl8FynXyQoLVcMsEvi/4bfWQNrUpw0jxSm mMXXmiPO/beYGX8KthzOo2x/UoOsJ7RndYxTwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v 63yTvGacajYm1eF/k/F3oDJ9CQ6jefQAOOkVIYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/ Nj/uKUzAnf8s9JPGjxSs/7rRC9H5qyo42pB5AVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0qVYMyJz7 t9JEx8EcjW4uuion5mrVOY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI ZNEOHwwNHwsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4bVGZsJwB7Az o7A12nUHBwXZcSm8BGM4H2cobXxgXr8WKtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xHXMYRzRMbNgnss4eRjEw0 FKN2dTzClRHr7m9WX+bsLCOoluaOzURLGIETT8JS00C+daLiL80ihXDX9NyCpmfh9f+GSzz6 z2SpS14jLIW5eYB2r+n51nBj3Spr4LQUw8uzgzNWySu6QYRTJSibYGy9V+d5/9PKo+DR3GLo Xcfls6RqusJCPmlki2GR+EEWq+k++yENjz0i0NgBJQn+HKm/HvLQGxLyGggfgEzaJ9CIGK4J hCL0e9M2HNNFDiFX+xKeKHgMOsj0Y3bKN77CdvEcNUbN/CdazS7EDFSiV+4hj+1yBV8y/xga f+mndCQ4WH24JmLLQZapM9HiNfHPghkmQvuqWnTlnxLK4a2an+PUqsiO1CTdO0/567siFyKq 44CZpLUlkUGCbGWjszrHWg7dwhiwZ8TXMCeliCqXrTbfloO9J8JV5c9Po/Ni6Q6xv8Ix48kD 1m2W1NCyUqXuJE0AVziV5yXU5u2BcwXhStibUQR0aOAhyBLjXCHsP1OKPPavNAPqIRe8BKDZ 6BcIJ3ZWqQWF2ivFvZ0RcCVkbGOvS+D3WqmVxdJqhBmF3K8b2QlIuPZQzY= IronPort-HdrOrdr: A9a23:toMCjK4pDH3eDlY4FwPXwf+BI+orL9Y04lQ7vn2ZHyYlPfBw8P re6sjztCWE/wr5PUtQ4+xoV5PwP080y6QFmLX5UY3SLTUPlgOTXeZfBKHZsl/d8xSXzJ846U +LG5IObuEYdGIK6PoSgjPIYerIseP3hJxA3t2ut0uFJDsCA8oMg2gWa2am+ytNNXl77LUCZe WhD6F81k+dkBosH7eG71A+Lqb+TxyiruOEXTc2QzAm9SyHhneQ6Kf3Fhie0lM/Xlp0sP0f2F mAvQzlw62p98i60xPY12jeq69bl7Lau5Z+Lf3JpMgJDz3mzj+pfYhlW7qP+AopqPyy8j8R4Z XxiiZlEcRvznvbOlivpxjg0RSI6kdm11bSjXGZnF7qqojBXzQ4B8BdwaJVGyGpo3YIjZVT0L 9v12ncjoFQDh/LgWDF78XIPisa3XackD4DlvIWhHoacaZ2Us4rkWRWlHklbavpVkrBmfwaOd grKt3A6/NfdlHfS3jYu21mx7WXNEgOIg== X-Talos-CUID: =?us-ascii?q?9a23=3A2riqdmjCpUro7ISMMsq7mXSuKjJuMVLvj0rLAB6?= =?us-ascii?q?DJm91bYaoQ0HP07N6nJ87?= X-Talos-MUID: 9a23:vLR/9guwDWOE0LzpB82niRx8Oco5+52XI0kfnqUh4feYbCtwEmLI X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; d="scan'208";a="127464600" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Wei Liu , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Bertrand Marquis , Roberto Bagnara , Nicola Vetrini Subject: [PATCH v2 1/5] x86/setup: Clean up cmdline handling in create_dom0() Date: Tue, 21 Nov 2023 20:15:36 +0000 Message-ID: <20231121201540.1528161-2-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com> References: <20231121201540.1528161-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1700597778544100001 There's a confusing mix of variables; a static dom0_cmdline[], and a cmdline pointer which points to image->string before being pointed at the static buffer in order to be passed into construct_dom0(). cmdline being a mutable pointer falls over -Wwrite-strings builds. Delete the cmdline pointer, and rename dom0_cmdline[] to cmdline extending = it to have full function scope. No functional change. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Wei Liu CC: Stefano Stabellini CC: Julien Grall CC: Volodymyr Babchuk CC: Bertrand Marquis CC: Roberto Bagnara CC: Nicola Vetrini v2: * New. This unravelled a bit, so I pulled it into a separate patch, but t= he end result is much clearer to follow IMO. --- xen/arch/x86/setup.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index c41dfdb2bdf8..c0302c6bdd62 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -873,6 +873,8 @@ static struct domain *__init create_dom0(const module_t= *image, module_t *initrd, const char *kex= tra, const char *loader) { + static char __initdata cmdline[MAX_GUEST_CMDLINE]; + struct xen_domctl_createdomain dom0_cfg =3D { .flags =3D IS_ENABLED(CONFIG_TBOOT) ? XEN_DOMCTL_CDF_s3_integrity = : 0, .max_evtchn_port =3D -1, @@ -885,7 +887,6 @@ static struct domain *__init create_dom0(const module_t= *image, }, }; struct domain *d; - char *cmdline; domid_t domid; =20 if ( opt_dom0_pvh ) @@ -913,33 +914,30 @@ static struct domain *__init create_dom0(const module= _t *image, panic("Error creating d%uv0\n", domid); =20 /* Grab the DOM0 command line. */ - cmdline =3D image->string ? __va(image->string) : NULL; - if ( cmdline || kextra ) + if ( image->string || kextra ) { - static char __initdata dom0_cmdline[MAX_GUEST_CMDLINE]; - - cmdline =3D cmdline_cook(cmdline, loader); - safe_strcpy(dom0_cmdline, cmdline); + if ( image->string ) + safe_strcpy(cmdline, cmdline_cook(__va(image->string), loader)= ); =20 if ( kextra ) /* kextra always includes exactly one leading space. */ - safe_strcat(dom0_cmdline, kextra); + safe_strcat(cmdline, kextra); =20 /* Append any extra parameters. */ - if ( skip_ioapic_setup && !strstr(dom0_cmdline, "noapic") ) - safe_strcat(dom0_cmdline, " noapic"); + if ( skip_ioapic_setup && !strstr(cmdline, "noapic") ) + safe_strcat(cmdline, " noapic"); + if ( (strlen(acpi_param) =3D=3D 0) && acpi_disabled ) { printk("ACPI is disabled, notifying Domain 0 (acpi=3Doff)\n"); safe_strcpy(acpi_param, "off"); } - if ( (strlen(acpi_param) !=3D 0) && !strstr(dom0_cmdline, "acpi=3D= ") ) + + if ( (strlen(acpi_param) !=3D 0) && !strstr(cmdline, "acpi=3D") ) { - safe_strcat(dom0_cmdline, " acpi=3D"); - safe_strcat(dom0_cmdline, acpi_param); + safe_strcat(cmdline, " acpi=3D"); + safe_strcat(cmdline, acpi_param); } - - cmdline =3D dom0_cmdline; } =20 /* --=20 2.30.2 From nobody Thu May 16 21:36:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1700597787; cv=none; d=zohomail.com; s=zohoarc; b=O/SGYDUkiUI36ZLyeQcYNAq2yHzQfH+Vyis7gIAKHUgS8u9N5Qpq5MAOslxoGYYgnIbGjkq2gF4r6vlT6vrhX24VSOOg4mkbAp7Kc/5zsKTF8+R4NfaGONvXDal7C7AJiOdrPwsEyVXR8XCyIbLguTxIprpsg7sUHLqzcfCYD1Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700597787; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EUVodYUdYd/r43Je4HuqMlddjKX+pHST2EVESC2onDM=; b=gKlWvWQ/5i/K4NpyAdfZ/wEfeqjCQC0cL68oTwUv0NL6AY4NJGyCVHJa9vE7CMjmp9+8Wuhzk1pDvyFEdxPm5S3GNCyds7g1zF6RGtI6IHCHsxir4/uCs4utQCrmOAVOWLcTvMfd5ZbBJjGXXCxI4VW7J+knBly6PgTPCUYoOsY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1700597787786655.5708391822436; Tue, 21 Nov 2023 12:16:27 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.638183.994539 (Exim 4.92) (envelope-from ) id 1r5XAA-0007zR-8S; Tue, 21 Nov 2023 20:16:02 +0000 Received: by outflank-mailman (output) from mailman id 638183.994539; Tue, 21 Nov 2023 20:16:02 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1r5XAA-0007zE-4h; Tue, 21 Nov 2023 20:16:02 +0000 Received: by outflank-mailman (input) for mailman id 638183; Tue, 21 Nov 2023 20:16:01 +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 1r5XA9-0007Bx-0j for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:16:01 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c8d1d8ff-88aa-11ee-9b0e-b553b5be7939; Tue, 21 Nov 2023 21:15:59 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version 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: c8d1d8ff-88aa-11ee-9b0e-b553b5be7939 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1700597759; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nNPFHrgxp9pbQ7IeeSDyd3YSSCnHXwpkDDz03xLZZ0Y=; b=eszsf461HSGmtNP+BXu+7/JC0U6e1ftnH+KNlIYDk5NOQfcSjk70uRpf lRb2/NE/OiaQmRkrXWIkYFhdJgBeCn+kbHouusn4Iqes1En2crjemE8nl GF8d+2M1IKXjO6dtPnFJHsbQm9e8v/S/7F9nXSMtMOvWJzlMChgXXGQws 4=; X-CSE-ConnectionGUID: BxdPn14FSKGZsTscOECGPg== X-CSE-MsgGUID: mpsQ+mzbStynQezYRkbRFQ== Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 127464603 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.159.70 X-Policy: $RELAYED X-ThreatScanner-Verdict: Negative IronPort-Data: A9a23:GBbuEq2dKvZbLGtYufbD5TVxkn2cJEfYwER7XKvMYLTBsI5bpzACy mocD2+HP/uDamT2fdt1aozn9UMO7JXUx9RhQQc+pC1hF35El5HIVI+TRqvS04F+DeWYFR46s J9OAjXkBJppJpMJjk71atANlVEliOfQAOK6UbaYUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo tq3qMDEULOf82cc3lk8teTb9HuDgNyo4GlD5wVkPKgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfK3FCz fpBdB42TT+xnN6ty5WWYcZUiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP ZNfMGc+KkuYC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTH5oJwBrG/ jmuE2LRBwkBDZ+a2zC+7mOqv+LdrBn4Urg8LejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAfVSJIYtEisM4wRBQp2 0WPktevAiZg2JWKTVqN+7HSqim9UQAXMGsDaCksXQYDpd75r+kbsBXLSdpyFb+vuff8Ezrw3 jOioTA3gvMYistj/6+250zdijSg4J3AVBco5x7/V3igqAh+YeaNfYui5ELH6rBKJYmfR0OIl HIZlNOT6u9IBpaI/ASLQe4KGLjv+fuZKjzagHZlApY6+jKivXWkeOhtDCpWfRkzdJxeIHmwP R6V5ls5CIJv0GWCR797W4ToV+oR7ofSDuj+Xdf5RfV2bc0kHOOYxx2CdXJ8zki0zxB0zPFlZ MjLGftAG0r2HkiO8dZXewv++eVyrszG7TmPLa0XNjz+uVZkWFabSK0eLHyFZf0j4aWPrW39q okHb5bbkksCALSnPkE7FLL/y3hQdRDX4riv+6RqmhOreFI6SAnN9deNqV/eR2CVt/sMzbqZl p1MckRZ1ED+lRX6xfaiMxhehEfUdc8n9xoTZHV8VWtELlB/Oe5DGo9DLcpoFVTmncQ/pcNJo w4tIpzbWq0XGm2ap1zwr/DV9eRfSfhivirWVwLNXdT1V8cIq9DhkjM8QjbSyQ== IronPort-HdrOrdr: A9a23:zoRAa6kDfY3CTFmNXPHkWMirhnXpDfMbimdD5ihNYBxZY6Wkfp aV7bsmPHjP+UAssRAb6Ke90cy7MAnhHPFOkPcs1ImZLXDbUQeTXfBfBaWL+UyGJ8TVzJ8+6U 9YG5IObOEZ5zBB/KDHCXCDYrMdKbu8gdKVbJblvgNQpFpRGtldBm5CY27xfyEYKmgnOXNeLu vt2iNpnUveRZ19VLXPOpBqZZmxmzTjruOpXfbGbyRXizWmvHeH6KPeGxPd5xcGXzZOxrtn0W WtqX2y2oyT99+61zrV3Cvr741bndvnxp95CMPksLlZFhzcziipeaFoUPm6vCk4peGp5BIRjd HQvw1IBbU+11rhOk+0vD7k0E3YyzAs53X+oGXoyEfLkIjWRC8eA8EEvJlecRfS9g4BsbhHoe p29lPcmZpLKBvK2B3n4dvFXQwvr0KooBMZ4KUupk0acYwDbLRW6awzlXkla6vpVErBmf0a+K MHNrCh2N9mNXWHcn/dtm5shPilXnE2FhDueCI/hvA= X-Talos-CUID: 9a23:CErM2G914nEtJqSshCSVv2QEFvgjKyHz91T/EVSEEm1OZZa6cVDFrQ== X-Talos-MUID: 9a23:jOKeQQuah1bq4WNNzc2ngSl5DYRt8a6VFFELqJgUivOHPxZeAmLI X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; d="scan'208";a="127464603" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Wei Liu , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Bertrand Marquis , Roberto Bagnara , Nicola Vetrini Subject: [PATCH v2 2/5] x86/setup: Rework cmdline_cook() to be compatible with -Wwrite-strings Date: Tue, 21 Nov 2023 20:15:37 +0000 Message-ID: <20231121201540.1528161-3-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com> References: <20231121201540.1528161-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1700597788483100001 Rework the logic in __start_xen() to not potentially pass NULL into cmdline_cook(). This makes the logic easier to follow too, and the rest of __start_xen() is safe when initialising cmdline to the empty string. Update cmdline_cook() to take and return const pointers, and write a description of what it does. It now requires a non-NULL input and guarente= es to return a pointer somewhere in the 'p' string. Note this only compiles because strstr() launders the const off the pointer when assigning to the mutable kextra, but that logic only mutates the mbi->cmdline buffer. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Wei Liu CC: Stefano Stabellini CC: Julien Grall CC: Volodymyr Babchuk CC: Bertrand Marquis CC: Roberto Bagnara CC: Nicola Vetrini v2: * create_dom0() changes split out into a previous patch * Remove the logic for a NULL input, now that all callers have been adjust= ed --- xen/arch/x86/setup.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index c0302c6bdd62..b171a8f4cf84 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -837,10 +837,15 @@ static bool __init loader_is_grub2(const char *loader= _name) return (p !=3D NULL) && (p[5] !=3D '0'); } =20 -static char * __init cmdline_cook(char *p, const char *loader_name) +/* + * Clean up a command line string passed to us by a bootloader. Strip lea= ding + * whitespace, and optionally strip the first parameter if our divination = of + * the bootloader suggests that it prepended the image name. + * + * Always returns a pointer within @p. + */ +static const char *__init cmdline_cook(const char *p, const char *loader_n= ame) { - p =3D p ? : ""; - /* Strip leading whitespace. */ while ( *p =3D=3D ' ' ) p++; @@ -969,8 +974,8 @@ static struct domain *__init create_dom0(const module_t= *image, /* SAF-1-safe */ void __init noreturn __start_xen(unsigned long mbi_p) { - const char *memmap_type =3D NULL, *loader; - char *cmdline, *kextra; + const char *memmap_type =3D NULL, *loader, *cmdline =3D ""; + char *kextra; void *bsp_stack; struct cpu_info *info =3D get_cpu_info(), *bsp_info; unsigned int initrdidx, num_parked =3D 0; @@ -1025,9 +1030,9 @@ void __init noreturn __start_xen(unsigned long mbi_p) : "unknown"; =20 /* Parse the command-line options. */ - cmdline =3D cmdline_cook((mbi->flags & MBI_CMDLINE) ? - __va(mbi->cmdline) : NULL, - loader); + if ( mbi->flags & MBI_CMDLINE ) + cmdline =3D cmdline_cook(__va(mbi->cmdline), loader); + if ( (kextra =3D strstr(cmdline, " -- ")) !=3D NULL ) { /* --=20 2.30.2 From nobody Thu May 16 21:36:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1700597781; cv=none; d=zohomail.com; s=zohoarc; b=c2N1wP8fnQEhQ2Ev+VRLwp6gRNt4+mQfnRiGXsPwI4nLEVas7ytPw3hYr0SzGGk5qMKXFms1PxN9RapcZpXrvaSIgiil/nTuhmQBX4xCE7GAWRtx//gAXBusOBM50BE1kYxGlh1Ekp604SPfynhcptdaJlaaPdUeLQUZplajH5U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700597781; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=egoNi/cvy2xqW+51H27LyprXHHIs4/O8IjmixC12Bts=; b=il0bITXbXYd4WGI+vTUe5+4pdM9XwGQFHJynKRb9GoOx7Xtb7STiWJUXnaC2rwzHz45DQYzAHSuUkbHwlGhRCQMpDr/2m0opvmLN9OgKs/9t8jg7swEgQzPENreOvR/rYLPfBWfWGHtJT73uo3C9q6p9QzQFK0dHcIYX9HHFqG4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1700597781010289.4993704533575; Tue, 21 Nov 2023 12:16:21 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.638182.994529 (Exim 4.92) (envelope-from ) id 1r5XA9-0007hX-0Y; Tue, 21 Nov 2023 20:16:01 +0000 Received: by outflank-mailman (output) from mailman id 638182.994529; Tue, 21 Nov 2023 20:16:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1r5XA8-0007hK-Te; Tue, 21 Nov 2023 20:16:00 +0000 Received: by outflank-mailman (input) for mailman id 638182; Tue, 21 Nov 2023 20:15:59 +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 1r5XA7-0007Bx-1G for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:15:59 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c7a0f2a2-88aa-11ee-9b0e-b553b5be7939; Tue, 21 Nov 2023 21:15:57 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version 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: c7a0f2a2-88aa-11ee-9b0e-b553b5be7939 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1700597757; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=zhFqeBE6+dVJCflG9ZGRRYk/WpALPCbVG60q2etK4II=; b=BW7A2YyFmjWN24+UDkmP12zTh8dNbOAI6w/AEURezRjJ3e5dJ6PERoY9 jomYta76/Qt9kB15yUCaI8AtSVO/t2PA8ZgeXsX6lcLwtUzDmQ2ULzefs ++nSSYaArZczJ2w4WlrdEJzrwFhY+iFHIDrjhTrwfyIa7OMRx1MHATHVX I=; X-CSE-ConnectionGUID: +GZ+UsK9SGatMSUbv7Cxvg== X-CSE-MsgGUID: H2Ia19A2RQmFFwSxh4AdHQ== Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 127464601 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.159.70 X-Policy: $RELAYED X-ThreatScanner-Verdict: Negative IronPort-Data: A9a23:/FnTPKuUYR9imAmGJy+qrLoIpufnVLBeMUV32f8akzHdYApBsoF/q tZmKW2GafuMMTfye94gbo+080sE7JXUm9RnHgZu/31mH3gS+JbJXdiXEBz9bniYRiHhoOCLz O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVaicfHg3HFc4IMsYoUoLs/YjhYJ1isSODQqIu Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq5Fv0gnRkPaoQ5QaEziFPZH4iDfrZw0XQE9E88tGSH 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG fMwax8/LS2YpLON77unb9JRjNp8B9n1M9ZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT 5NHM3w1Nk2GOkAefAhPYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/ D2aoTinWkhy2Nq36WCk+yv9r7X1pCbVdp0pBL3k3/JKuQjGroAUIEJPDgbqyRWjsWauVtQaJ 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ9r9M/TzEu0 l6PnvvqCCZpvbnTTmiSnp+LqRuiNC5TKnUNDQcGUA8E7t/LsIw1yBXVQb5LLqmxidHkHCDq9 BqDpiM+mrY7gNYC0uOw+lWvqzihvITTRwg5oADeRHu47xhRbZSgIYev7DDz9/FKIZyFSR+Lt XcCktKXxOoTAoqAkiPLS+IIdJmv5v2CNDSan1NzBZgn9hyn5nG4cIZfpjp5IS9U3t0sIGGzJ hWJ4EUIuc4VYyPCgbJLj5yZSOsYjpX7NoXeefnIS+FzaIYuXx+Z83Q7DaKP5FwBgHTAgIlmZ s/DLJb2UClKYZmL2gZaUAv07FPK+szd7TmKLXwD5077uYdynVbMIVv/DHOAb/oi8ISPqxjP/ tBUOqOikkoHCLCvO3eKoddKcTjmyETX47is86S7kcbacmJb9JwJUaeNkdvNhaQ590iqqgs41 i7kARIJoLYOrXbGNR+LehhehEDHBP5CQYYAFXV0Zz6AgiFzCbtDGY9DL/Pbi5F7rr08pRO1J tFZE/i97gNnE22co21FPcCg8OSPtn2D3GqzAsZsWxBnF7YIeuAD0oaMktfHnMXWMheKiA== IronPort-HdrOrdr: A9a23:vM7XkK/YPps46ETq925uk+Hvdb1zdoMgy1knxilNoEpuA4Olfq eV7YImPH7P+UEssRQb6Kq90ca7MA3hHKBOkPAs1NuZLXjbUEXBFvAE0WLJ+UyDJ8XGntQtsZ uJmcBFebvN5CFB/KPHCWuDYqQdKai8gdSVbLzlvg9QpGhRAskKgmsXZGf6LqQRfng3OXMXLu vi2iMtnUvURZ14VLXJOpAtZZmMmzUL/KiWAiIuNloI6BSqhTjt0b7iHx2Z2Rtbcz4n+8ZpzU H11yL4+4CquLWDygbR0m/V49BslNSJ8KoPOOW8zuYUNxDlgUKQZJ1sXr2EsHQOvemz9ExCqq iBnz4Qe+py9lbYdSWNuh3v1wP8uQxeokPK+Bu3gWbHqce8fSk9CMZKmMZ4f3LimgIdleA5/q JX+mqT86NNCxDNljm43tDUVnhR5wGJiEtnsekOi3dYFasyAYUh1rD2tCtuYeo99GiT0vFaLM BeSOfB+flSeVSZK1TQvmxqyNvEZB4OIis= X-Talos-CUID: =?us-ascii?q?9a23=3Aog0zG2mjVcoHell2OC0bblIbR6TXOT7y/jTtOGz?= =?us-ascii?q?pMklgVJiudFWOp4h0jcU7zg=3D=3D?= X-Talos-MUID: 9a23:D141jAnqhRS0Xh9Kjj1adnpCbuZhuvWHUno0lLsopPKUNXBZNxek2WE= X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; d="scan'208";a="127464601" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Wei Liu , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Bertrand Marquis , Roberto Bagnara , Nicola Vetrini Subject: [PATCH v2 3/5] x86/efi: Simplify efi_arch_handle_cmdline() Date: Tue, 21 Nov 2023 20:15:38 +0000 Message-ID: <20231121201540.1528161-4-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com> References: <20231121201540.1528161-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1700597782485100001 -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but a= ll this work is useless; it's making a memory allocation just to prepend the image name which cmdline_cook() intentionally strips back out. Simply forgo the work and identify EFI_LOADER as one of the loaders which doesn't prepend the image name. No functional change. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Wei Liu CC: Stefano Stabellini CC: Julien Grall CC: Volodymyr Babchuk CC: Bertrand Marquis CC: Roberto Bagnara CC: Nicola Vetrini v2: * Brand new. I can't find anything which cares about the image name in the slightest. T= his logic is from bf6501a62e80 ("x86-64: EFI boot code") when EFI was introduce= d, at whcih point GRUB2 was the only excluded loader in cmdline_cook(). --- xen/arch/x86/efi/efi-boot.h | 10 +--------- xen/arch/x86/setup.c | 7 +++++-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h index eebc54180bf7..1a2a2dd83c9b 100644 --- a/xen/arch/x86/efi/efi-boot.h +++ b/xen/arch/x86/efi/efi-boot.h @@ -309,6 +309,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *imag= e_name, { union string name; =20 + /* NB place_string() prepends, so call in reverse order. */ if ( cmdline_options ) { name.w =3D cmdline_options; @@ -317,15 +318,6 @@ static void __init efi_arch_handle_cmdline(CHAR16 *ima= ge_name, } if ( cfgfile_options ) place_string(&mbi.cmdline, cfgfile_options); - /* Insert image name last, as it gets prefixed to the other options. */ - if ( image_name ) - { - name.w =3D image_name; - w2s(&name); - } - else - name.s =3D "xen"; - place_string(&mbi.cmdline, name.s); =20 if ( mbi.cmdline ) mbi.flags |=3D MBI_CMDLINE; diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index b171a8f4cf84..200520392481 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -850,8 +850,11 @@ static const char *__init cmdline_cook(const char *p, = const char *loader_name) while ( *p =3D=3D ' ' ) p++; =20 - /* GRUB2 and PVH don't not include image name as first item on command= line. */ - if ( xen_guest || loader_is_grub2(loader_name) ) + /* + * PVH, our EFI loader, and GRUB2 don't not include image name as first + * item on command line. + */ + if ( xen_guest || efi_enabled(EFI_LOADER) || loader_is_grub2(loader_na= me) ) return p; =20 /* Strip image name plus whitespace. */ --=20 2.30.2 From nobody Thu May 16 21:36:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1700598426; cv=none; d=zohomail.com; s=zohoarc; b=OAYipdclL/l7j6SXsxOE9Kadxa83tH6CHUJkOJXGaatCskaFK3Rm/T1a8KIFKPQHRtk2/LfahHvWXu3n+DbnPWAaYQXwjE2H4bovW4jy4sOR+d7L2qPqx2zc9T7OYaNy50nieCjLC36YaCpuHgUPp+h0qNt3RcbS8FZKWvUsbh8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700598426; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=2bT8L8KqQ9Ug9C5QvgZ5ulnIHgt8LGMvvHtbcL6pZ5g=; b=IZ5Oo0duQ6HmDPSrXvbpXYfh3Cq8W8ind0OnEDQ1sPwzZg7tG/Hv4feNUpcZsLnN+D38ym3aYaUguaUPTVKN2GjECcAzvanz/B5sT0Lk3WttsN2hrq1Ur+cGs7O+5ghg4aI+KRKY2saog1pOD7Tfrh9aAf8SOERw4reqDOdCm0Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1700598426133575.5628215420055; Tue, 21 Nov 2023 12:27:06 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.638208.994548 (Exim 4.92) (envelope-from ) id 1r5XKW-00035k-9w; Tue, 21 Nov 2023 20:26:44 +0000 Received: by outflank-mailman (output) from mailman id 638208.994548; Tue, 21 Nov 2023 20:26: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 1r5XKW-00035d-7P; Tue, 21 Nov 2023 20:26:44 +0000 Received: by outflank-mailman (input) for mailman id 638208; Tue, 21 Nov 2023 20:26:43 +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 1r5XA8-0006aW-D0 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:16:00 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id c8f4c279-88aa-11ee-98e1-6d05b1d4d9a1; Tue, 21 Nov 2023 21:15:59 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version 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: c8f4c279-88aa-11ee-98e1-6d05b1d4d9a1 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1700597759; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=h72RGL0wBeTp69VGUdWNFI72/Va5/mOVad612sj0U0Y=; b=UXLJgQO4VsJYfcf8NLXV7gwqw3mFiLVsbWJHJqscvaRiuQNnpB3RK3lm gjNCQMBElgAI/sVfwOH4IJ05ZSMcWLUSiJvREotZcPaqNn4TRS0tP47kZ VEmwkTdiNCpvwBDnZaemk55ZsBLl7mnbm0HxMz8jTiJmX8AlRC3a5liAc 8=; X-CSE-ConnectionGUID: BxdPn14FSKGZsTscOECGPg== X-CSE-MsgGUID: KCcTuWliSAmd0KYlcd8jzQ== Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 127464604 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.159.70 X-Policy: $RELAYED X-ThreatScanner-Verdict: Negative IronPort-Data: A9a23:2DIThqqwhsqCBxbA7XebtHi81kNeBmL+ZRIvgKrLsJaIsI4StFCzt garIBmFPPjbYDbxf4hzad6+8U0FupLTy9JgHVNvpCpmEiwb95uZCYyVIHmrMnLJJKUvbq7FA +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbOCYmYpA1Y8FE/NsDo788YhmIlknNOlNA2Ev NL2sqX3NUSsnjV5KQr40YrawP9UlKq04G9wUmAWP6gR5waHzSBNVvrzGInqR5fGatgMdgKFb 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay RAXABodYiiF3r6Y+5GUePJQnc8EAeLEBIxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ eJAN2ApNk6ZJUQSaxFIUPrSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/ ziZozqlXElGXDCZ4Rmu+U6xuevOpgr+VNoxJbmz+q5okmTGkwT/DzVJDADm8JFVkHWWS99Zb kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOr9QqTDYn0 luImdLBBjF1trCRD3WH+d+8sjeaKSUTa2gYakcsTxYB4tTliJE+iFTIVNkLOJCyitr5CDTh2 QegpSI1h6gQpcMT3qD99lfC6xqmq4LVVAcz6kPSV3i88wJiTIe/Ysqj7l2zxexHJouDUl7Ht nELncGE5cgEEJ6WmSqCBu4KGdmB4feONznVx0BiA4Mg8TWF8WOsZo1W73d1I0IBDyofUWa3O gmJ41oXvcICeiTyBUNqX26vI+46wZDmTIjLbdP7XMFyeZNWWSSoxC47MCZ8wFvRfFgQfbAXY MjDKZv8VytFWcxaICyKq/DxOILHJxzSJkuJHPgXNzz9jdKjiIe9EN/pymemYOEj97+jqw7I6 dtZPMbi40wACLWjM3CJrN5KdAxiwZ0H6Xbe8ZQ/mgmre1oOJY3cI6WJneNJl3JNw8y5adskD lniAxQFmTITdFXMKBmQa2ALVV8cdc8XkJ7PBgR1ZQzA8yF6Me6SAFI3K8NfkU8PqLYykpaZj pAtJ629Pxi4Ym2eoGxENcmk8dAKmdbCrVvmAhdJqQMXJ/ZILzElMPe9Fucz3EHi1haKiPY= IronPort-HdrOrdr: A9a23:KdwwAKtt6CL7MDSRsPcG2+mE7skCQYMji2hC6mlwRA09TyXPrb HgoB19726DtN9xYgBWpTnkAtj7fZqyz+8K3WAuB8baYOCLghrYEGlNhbGSpAEIMReOlNK07M 9bAsxD4DeZNykdsS+C2njcLz9D+qj0zEnYv5ar8543d3ATV0gI1W4QYWv2fSMWJDWuY6BJZK Z0yfA32AZIEk5nG/hTaEN1LNQrjue72q4PoHY9dn0awTjLozO0zbbwVyGZxxsaUzRChZcumF K12TDR1+GMs+yfwhSZ7m/L45FXn9ek8ddNbfb8x/Q9G3HDihuMbI8kYr2asDU0p+3q0ksjjc XXyi1Qc/hb2jf+fnyRqRCo4hLn0zol9hbZuBalqEqmj8zlYTowT/Nbg4FUeAacy0dIhqA17I t7m0yYqr9eBlf4hyL/69LUEyhji0vcmwtorccjy1xZTY8UbvtwgOUkjTho+N9pJlOG1GhseN MecP301bJxbU6UanjfvC1KyNyoWnw1dy3tfnQ/ X-Talos-CUID: =?us-ascii?q?9a23=3AcfEDrGssQNguq/RYovAvZDMy6IsPYnHlyi6MDXS?= =?us-ascii?q?bJlRydKaebnK715trxp8=3D?= X-Talos-MUID: 9a23:ZBJCTwhp+fBEYwUQ+LWh2sMpF+xj37mRDEE2uJAK4+q1MSd8azWPtWHi X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; d="scan'208";a="127464604" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Wei Liu , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Bertrand Marquis , Roberto Bagnara , Nicola Vetrini Subject: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline() Date: Tue, 21 Nov 2023 20:15:39 +0000 Message-ID: <20231121201540.1528161-5-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com> References: <20231121201540.1528161-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1700598427295100001 -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but t= his logic looks incorrect. It was inherited from the x86 side, where the logic was redundant and has now been removed. In the ARM case it inserts the image name into "xen,xen-bootargs" and there= is no logic at all to strip this before parsing it as the command line. The absence of any logic to strip an image name suggests that it shouldn't exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem is going to lead to some unexpected behaviour on boot. No functional change. Signed-off-by: Andrew Cooper Reviewed-by: Julien Grall Reviewed-by: Luca Fancellu Reviewed-by: Stefano Stabellini Tested-by: Henry Wang Tested-by: Luca Fancellu --- CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Wei Liu CC: Stefano Stabellini CC: Julien Grall CC: Volodymyr Babchuk CC: Bertrand Marquis CC: Roberto Bagnara CC: Nicola Vetrini v2: * New. I'm afraid that all of this reasoning is based on reading the source code. = I don't have any way to try this out in a real ARM UEFI environment. --- xen/arch/arm/efi/efi-boot.h | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h index 1c3640bb65fd..59d217667ff3 100644 --- a/xen/arch/arm/efi/efi-boot.h +++ b/xen/arch/arm/efi/efi-boot.h @@ -461,7 +461,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *imag= e_name, union string name; char *buf; EFI_STATUS status; - int prop_len; + int prop_len =3D 0; int chosen; =20 /* locate chosen node, which is where we add Xen module info. */ @@ -473,20 +473,6 @@ static void __init efi_arch_handle_cmdline(CHAR16 *ima= ge_name, if ( EFI_ERROR(status) ) PrintErrMesg(L"Unable to allocate string buffer", status); =20 - if ( image_name ) - { - name.w =3D image_name; - w2s(&name); - } - else - name.s =3D "xen"; - - prop_len =3D 0; - prop_len +=3D snprintf(buf + prop_len, - EFI_PAGE_SIZE - prop_len, "%s", name.s); - if ( prop_len >=3D EFI_PAGE_SIZE ) - blexit(L"FDT string overflow"); - if ( cfgfile_options ) { PrintMessage(L"Using bootargs from Xen configuration file."); --=20 2.30.2 From nobody Thu May 16 21:36:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1700598450; cv=none; d=zohomail.com; s=zohoarc; b=dKXwB4ra5BLXk3tR4s6Q69sdgJAdDXkQrUvAuX6Bvs++/cJHWCCVycjjmZ66M9ojiGCgus3UxNU+O5Uex3sV7CYoOieJfKCSsNuMZ5J35kdKL4zZnhL/Bn05mLevxsBxFJ87v9fmKzfEJX+0DNi1U2KNFIbdu0r377pK5Q07Dc0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700598450; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=v1sFPhUxLNSzsOan1T8SCitO9cSCWEr80qDQMdDB82w=; b=baf2s9Ej6c9oj95+PFrgE8oafcHpG0BU9tt8aBQOhMQDCzcjrcM2vg867DxqMXCKmKvrqz71jvcLC0mGiIi6BwAlywXc0US/p1U/Emwd0wCsX2JpDuU/1CfFhOFe3gnAdr9IT/gsj5ksokxue8ZLuayaAbdHGKLc6DRbKwy9B5g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1700598450102118.15388920075986; Tue, 21 Nov 2023 12:27:30 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.638215.994559 (Exim 4.92) (envelope-from ) id 1r5XKv-0003dE-Hm; Tue, 21 Nov 2023 20:27:09 +0000 Received: by outflank-mailman (output) from mailman id 638215.994559; Tue, 21 Nov 2023 20:27:09 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1r5XKv-0003d5-FA; Tue, 21 Nov 2023 20:27:09 +0000 Received: by outflank-mailman (input) for mailman id 638215; Tue, 21 Nov 2023 20:27:08 +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 1r5XA7-0006aW-86 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:15:59 +0000 Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id c7b7f944-88aa-11ee-98e1-6d05b1d4d9a1; Tue, 21 Nov 2023 21:15:58 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version 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: c7b7f944-88aa-11ee-98e1-6d05b1d4d9a1 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1700597758; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5uiIRow6rh0vRvX5ViEOdcJuUhRBpUj5Jr2b1aBEl6g=; b=GlMeY4vTxkb18wvHkPmJQo4J/xW606ppGZLetB/Gbakda79v44z920ZO o4p5uamRLj1ruHCpj2tvtc4DmeJjTdFyvfMa87TGqj6XNrapBH2+ya+UO XkTKQWJV1i6Xg7wu9lm40jR6wInsF4PyZIa4T8sYI76ZalH4Apat3ZaEf c=; X-CSE-ConnectionGUID: +GZ+UsK9SGatMSUbv7Cxvg== X-CSE-MsgGUID: CqveYOQkQuCdJAkr8aVIhg== Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 127464602 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.159.70 X-Policy: $RELAYED X-ThreatScanner-Verdict: Negative IronPort-Data: A9a23:+k3rQaAFvWjUHBVW/9Xjw5YqxClBgxIJ4kV8jS/XYbTApG5w3jZUz TYXC26EaPmIYGv9fIogPYmzoEIC7J/XyYVrQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h yk6QoOdRCzhZiaE/n9BCpC48D8kk/nOH+KgYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs t7pyyHlEAbNNwVcbCRMt8pvlDs15K6p4WpC5wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwuclFQlxV1 q0jBzkRSyu+jfzp66KlRbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP pdIL2U3BPjDS0Qn1lM/IZQyhuq3wFL4dCVVsgm9rqsr+WnDigd21dABNfKMIIPWG5kLxhzwS mTu1H3nDyA9Dd+m1BGJ0FuvnL/GowL7V9dHfFG/3qEz2wDCroAJMzUGWF3+rfSnh0qWX9NEN 1dS6icotbI19kGgUp/6RRLQiGWfohcWVt5UEus7wAKA0KzZ50CeHGdsZhxrZcEitcQ2bSc3z VLPlNTsbRRwtJWFRHTb8a2bxRuwJCwUIGkqdSICCwwf7LHLnoY3iR7eS8d5J4S8hNb1BDLYz iiDqW41gLB7pcQGzbmh9FbLxTelvIHUTxUd7x/SGGmi62tRYY+uZ4Wsr1/B//tEBI+cQh+Ku 31ss9KZ5u0UEZbLniWCRuwXFZmj+vmePTvTx1VoGvEJ8TWm/HqqO55d/Ct/IkZBONsLYjLvb wnYvgY52XNIFCL0N+ktOdv3Upl7i/e4fTj4ahzKRplhUNtMbyzWxw5neWur4mrzz2M8j65qb P93bv2Q4WYm5bVPlWXuH7pNi+J0lkgDKXXvqYcXJilLMIZyh1bPEN/pyHPUMogEAFqs+W05C ep3OcqQ0Al4W+bjeCTR+oN7BQlVdSBmVMmo9pwOL7Lrzu9a9IcJUae5LVQJItwNokiovr2Qo iHVtrFwlDITekEr2S3VMys+OdsDrL50rG4hPDxEALpb8yFLXGpb149GL8FfVeB+pIReIQtcE 6FtlzOoXq4eFVwqOl01MfHAkWCVXE3y3lrXZ3r8PWRXklwJb1Whx+IItzDHrEEmZhdbf+Nny 1F8/ms3maY+ejk= IronPort-HdrOrdr: A9a23:+gZxO6BU4IwoRZjlHeibsceALOsnbusQ8zAXPhZKOFNom6uj5r aTdZUgpGjJYVMqKQsdcL+7Sde9qE3nhOdICOUqTMaftCePghrOEGhJ1/qB/9XYcxeOktK0P8 9bAs5D4aTLfD1HZKTBkXuF+qcbsa26GfuT9J/jJh5WJGkABs0OgWYYNu/8KDwHeOBoP+tHKH P23Lszm9PPQwVlUi2TPAhKYwADz+e7967OUFopBwMD4ALLtDOw5Lv7FBTd/hp2aUIE/Z4StU bEjinw7eGbs+i2zx/a2yvp45s+oqqt9vJzQOKNl+0cIXHUih+lYYRnV/m5oTgpvPvH0idnrP D85zkhIuF64DfpZWe3rRHxsjOQmQoG2jvNyUK8iXCmmNf+Rz4xFo5giOtiA1PkwntlktFg9a pBm1uDsZlaBw6FpSzh5rHzJlpXv3vxgX0/leUUy1xzOLFuE4O45eQkjT5o+N1pJlOH1KkXVM 9zEc7Y7PFVNXeTb3Xctm4H+raRYkg= X-Talos-CUID: =?us-ascii?q?9a23=3AFcgXCGt56C9WCmr6hjoAK5se6ItmXU+e8WzzcnS?= =?us-ascii?q?XAHpMc4CfVwC76L1rxp8=3D?= X-Talos-MUID: 9a23:lI9pJgYfkKies+BTnCbyiQBFDcRR/o+iKmkOi8UPheiEOnkl X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; d="scan'208";a="127464602" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Stefano Stabellini , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Wei Liu , Julien Grall , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel , Roberto Bagnara , Nicola Vetrini Subject: [PATCH v2 5/5] xen: Enable -Wwrite-strings Date: Tue, 21 Nov 2023 20:15:40 +0000 Message-ID: <20231121201540.1528161-6-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com> References: <20231121201540.1528161-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1700598451442100001 The codebase is now -Wwrite-strings clean. Activate the option to cause string literals to have a const type, and prevent any violations of MISRA R= ule 7.4 being reintroduced. Signed-off-by: Andrew Cooper Acked-by: Stefano Stabellini --- CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Wei Liu CC: Stefano Stabellini CC: Julien Grall CC: Volodymyr Babchuk CC: Bertrand Marquis CC: Michal Orzel CC: Roberto Bagnara CC: Nicola Vetrini --- xen/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/Makefile b/xen/Makefile index 7b869f4b3037..ca571103c868 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -392,7 +392,7 @@ endif CFLAGS-$(CONFIG_CC_SPLIT_SECTIONS) +=3D -ffunction-sections -fdata-sections =20 CFLAGS +=3D -nostdinc -fno-builtin -fno-common -CFLAGS +=3D -Werror -Wredundant-decls -Wno-pointer-arith +CFLAGS +=3D -Werror -Wredundant-decls -Wwrite-strings -Wno-pointer-arith $(call cc-option-add,CFLAGS,CC,-Wvla) CFLAGS +=3D -pipe -D__XEN__ -include $(srctree)/include/xen/config.h CFLAGS-$(CONFIG_DEBUG_INFO) +=3D -g --=20 2.30.2