From nobody Fri Apr 3 01:25:10 2026 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=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1774445060; cv=none; d=zohomail.com; s=zohoarc; b=PD2PB9+qQAzsCpSWO2MKUFXiLDIvIF3pyLMx0R5K3Ex36lFQQlpRCjH68kJyqFTOYugUeM3Xjh5myNicKcc2lyIxZgacXBZtXnxhmuDgIoV7gpo6TKUhIJkkXI5aCu+oC3x9OhLJjNn5Wn/iCEOs9GvvT2SV/KJl8i0x1xcYymw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774445060; 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=4z2f6acb15Hu47Bm0pjYeGaxQ7vqXYq12+Jv1/7oZr4=; b=h9+rGVvgH1erX0kKIA/9JmNpwTVhlsFVAqRc/9BKKfGXm+iwl8cJj5bbLqhDEgB07yeoVPC4ihQB/LnvkpY8YiWL3IzW5cJb0ohMWI3vkYPMa8r9VsxK8DrYjvSU3VegMFmGLaI0UO29oRIVmDs6vHh4RMo81rdKScAqm9Wgids= 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=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1774445060606821.3197138591456; Wed, 25 Mar 2026 06:24:20 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1262330.1554880 (Exim 4.92) (envelope-from ) id 1w5ODP-0001uO-4i; Wed, 25 Mar 2026 13:24:07 +0000 Received: by outflank-mailman (output) from mailman id 1262330.1554880; Wed, 25 Mar 2026 13:24:07 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1w5ODP-0001uH-1l; Wed, 25 Mar 2026 13:24:07 +0000 Received: by outflank-mailman (input) for mailman id 1262330; Wed, 25 Mar 2026 13:24:05 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1w5ODN-0001u9-8h for xen-devel@lists.xenproject.org; Wed, 25 Mar 2026 13:24:05 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1w5ODM-00ES7v-Kj for xen-devel@lists.xenproject.org; Wed, 25 Mar 2026 14:24:04 +0100 Received: from [10.42.69.6] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69c3e1f4-bab6-0a2a0a5309dd-0a2a4506d9ba-0 for ; Wed, 25 Mar 2026 14:24:04 +0100 Received: from [209.85.128.54] (helo=mail-wm1-f54.google.com) by tlsNG-16d1c6.mxtls.expurgate.net with ESMTPS (eXpurgate 4.55.2) (envelope-from ) id 69c3e1f4-3034-0a2a45060019-d1558036f039-3 for ; Wed, 25 Mar 2026 14:24:04 +0100 Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4852afd42ceso18539075e9.2 for ; Wed, 25 Mar 2026 06:24:04 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-487172f909asm29347635e9.6.2026.03.25.06.24.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 25 Mar 2026 06:24:03 -0700 (PDT) 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1774445044; x=1775049844; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=4z2f6acb15Hu47Bm0pjYeGaxQ7vqXYq12+Jv1/7oZr4=; b=bzayj5fA/Y9qLJkhj7Eg1DtmI5MLZPGOusszw2Fw7X/d2g4VBTDD/yu6YBtaglW1HG 1mW8fzP7OgHfWOiYaFjnWIKwU+ZFYbt1GYJiGZkrh7MTI2M4TM8WlGycGnpjzjyarJTx N6dZbdsk/a9XkdyGLsoRB/l1imSK/mRuq6bBVQLHV5NabLBO+lbezH30YxVVPCVlOKT3 pv82enE9PjKnXRiO48ISsin2XMG2iT9pMBk+zbPuUbhGZGxgRwSSeJC26QLErmocpD5Z SuQ2MjyYZ0fS9350+Al/rM1yXHGT3vLvGntmzXo7OvmzqZrDxkLKjJHgLrqJp2k7VXFq KJmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774445044; x=1775049844; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4z2f6acb15Hu47Bm0pjYeGaxQ7vqXYq12+Jv1/7oZr4=; b=EAVs3oSHjnsxlb/UBqVvIRa4XFhcqXQoKExbblgAusMK2GAQ/tHHJgNVr+OYSf96dx 0hP5oHKReSDJUS/gk5Ck2fMTZRz6q7MLf+F0O2XYy2nvpA542I0lkGJ3DtcjVEMpvCvM 2cYDjBzo7qPGdYrdYVQGpFlOsktNkpSNf0VBUuHIagb/cuGEORbg1wgRg9B6XEwZGwEq 1xCmeGs7ES8YhieLD2JvYtQednCqyQUr5rWx7S0YvaobbRXPgodv6GkSYPVr7IUS6Xu1 EmLHp7RmVBHkm/RlzYKBYX5b+E6SZsgnqDJYw3zsSwWOGuYta2ThYQEfwZMPR8Rw2IR/ K8gQ== X-Gm-Message-State: AOJu0YwrJEyyA6FXNvM/rMDwBLdkx3K/bNJUp3fRZPzo5ZNG4QdwzZlE 0OtlBdj3/Po7mwFco+2MZq4/wLnzACpaCCz3cP7C9pgDa2HE0jyQrk/6vl0b0YuSeRxx6xF7pfh sdJyjjg== X-Gm-Gg: ATEYQzxAUfJUBE6Oh+GJFFw/RRQZaJ6jQDaO8mudRUaTTH56z3Ws/hSB64VO9uO3qgC y0eF8TTgyhIcHSDhAHvd1n/9u0BhN806rJDk7CQdEaOinTxdz/LzuRKrMsVEMCMzKH82BztnQnG Mx6of3/838MXe6ICDyoOasXvbTqvIG2AtHhU0QqJ7tiLmvv7dge+G6FHbozEGU/fF3eAzHIbBzh 6dGf8Y4wrcZdbbt9tLOE9DitcijW45ZA7t22T6P9rHqoj5ZmQPhbSbTTeE+lkBTPB330oieSyLd BS98fLeWknVdHOk0wt/F5MdJWOaMSc3SMHZU8+5YAPAPEj27y+L1s3p+wTJmwdJhx+v++3vIp8D JSM5qN9ziKSdWfiTWpoHhLUVOrUuyZEwxHiKvYvsl1o1x1Ec5p8usARLrHtb3G7bWEX7KUpgOV+ BfDyA74iLmG1zStl5ikADyyVX5jMJNNd4KziIxt0MAlVacmSVNw3K8Vv3pHEkVEvWXedpOAp4HL ABrVCqYsTWkyhTqvfPLxIVJmw== X-Received: by 2002:a05:600c:6287:b0:479:1b0f:dfff with SMTP id 5b1f17b1804b1-48715fd545bmr54798785e9.10.1774445043897; Wed, 25 Mar 2026 06:24:03 -0700 (PDT) Message-ID: Date: Wed, 25 Mar 2026 14:24:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 1/2] EFI: avoid OOB config file reads From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Marek Marczykowski , Daniel Smith , Andrew Cooper References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-16d1c6/1774445044-82B961C2-9087AD82/0/0 X-purgate-type: clean X-purgate-size: 3185 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1774445063270154100 Content-Type: text/plain; charset="utf-8" The message emitted by pre_parse() pretty clearly states the original intention. Yet what it said wasn't done, and would have been unfriendly to the user. Hence accesses past the allocated buffer were possible. Insert a terminating NUL immediately past the data read, to then drop the no longer applicable message. NB: The iscntrl() check of just the last byte is more strict than what pre_parse() would accept without issuing its prior message, yet I'd like to keep the new logic reasonably simple. Config files shouldn't be huge, and we shouldn't be _that_ short of memory (or we'd fail elsewhere pretty soon). Fixes: bf6501a62e80 ("x86-64: EFI boot code") Reported-by: Kamil Frankowicz Signed-off-by: Jan Beulich Acked-by: Marek Marczykowski-G=C3=B3recki --- Is the efi_arch_flush_dcache_area() really needed for config files? Else it could be in an "else" to the "if()" added to read_file(). And then, how is it guaranteed that data from the area isn't brought back into the cache (perhaps speculatively)? In read_section() we could further leverage section alignment padding (if present, and if filled with zeroes), to limit when to allocate and copy. Thoughts? --- v2: Entirely different approach. --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -833,8 +833,9 @@ static bool __init read_file(EFI_FILE_HA what =3D L"Allocation"; file->addr =3D min(1UL << (32 + PAGE_SHIFT), HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START); + /* For config files allocate an extra byte to put a NUL there. */ ret =3D efi_bs->AllocatePages(AllocateMaxAddress, EfiLoaderData, - PFN_UP(size), &file->addr); + PFN_UP(size + (file =3D=3D &cfg)), &file->= addr); if ( EFI_ERROR(ret) ) goto fail; =20 @@ -853,6 +854,9 @@ static bool __init read_file(EFI_FILE_HA =20 efi_arch_flush_dcache_area(file->ptr, file->size); =20 + if ( file =3D=3D &cfg ) + file->str[file->size] =3D 0; + return true; =20 fail: @@ -878,6 +882,23 @@ static bool __init read_section(const EF =20 file->ptr =3D ptr; =20 + /* For cfg file, if necessary allocate space to put an extra NUL there= . */ + if ( file =3D=3D &cfg && file->size && !iscntrl(file->str[file->size -= 1]) ) + { + EFI_PHYSICAL_ADDRESS addr; + EFI_STATUS ret =3D efi_bs->AllocatePages(AllocateMaxAddress, + EfiLoaderData, + PFN_UP(file->size + 1), &ad= dr); + + if ( EFI_ERROR(ret) ) + return false; + + memcpy((void *)addr, ptr, file->size); + file->addr =3D addr; + file->need_to_free =3D true; + file->str[file->size] =3D 0; + } + handle_file_info(name, file, options); =20 return true; @@ -906,9 +927,6 @@ static void __init pre_parse(const struc else start =3D 0; } - if ( file->size && end[-1] ) - PrintStr(L"No newline at end of config file," - " last line will be ignored.\r\n"); } =20 static void __init init_secure_boot_mode(void) From nobody Fri Apr 3 01:25:10 2026 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=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1774445088; cv=none; d=zohomail.com; s=zohoarc; b=hun2Eh8L4QFt4HchMAJXIlrVVaBQ6BAvTY6lx4druHOvZDuq49Yk2C2ScoEEKTWo1/EPrc8lsuKePiPJD/7s7NUdQWwc6KJMOW6AMP1c7/NbZGKxHh8wVP+nROlaFUsu2KTqIMM7qTpSsLfvQ56OMOEmmmkkzIYeZBfnSZ1myPc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1774445088; 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=9BxAnQbQlusdq+Un61mXTAQpPPP3xW8V/k0uzyq9UTY=; b=NQTDqurPM6kP4IGYZUeZY8/72FAwH2wd8lWft6nPRtRypjvMMbMrYQ9Xw3N2/9pTpQPpJ6ZkPsmcoIAwxka7nMokJNvBdSpITRKQtCvLNX+5Z8BIgfzuUTWtgttFpKnbmLYHE+0w4IQOusw4b0Pwk+6Fzpcg8+AAKLAkaA6i2IY= 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=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1774445088606950.7048581036153; Wed, 25 Mar 2026 06:24:48 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1262336.1554889 (Exim 4.92) (envelope-from ) id 1w5ODp-0002NO-Bb; Wed, 25 Mar 2026 13:24:33 +0000 Received: by outflank-mailman (output) from mailman id 1262336.1554889; Wed, 25 Mar 2026 13:24: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 1w5ODp-0002NH-89; Wed, 25 Mar 2026 13:24:33 +0000 Received: by outflank-mailman (input) for mailman id 1262336; Wed, 25 Mar 2026 13:24:32 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1w5ODn-0002N4-S5 for xen-devel@lists.xenproject.org; Wed, 25 Mar 2026 13:24:31 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1w5ODn-00A2Wh-7v for xen-devel@lists.xenproject.org; Wed, 25 Mar 2026 14:24:31 +0100 Received: from [10.42.69.9] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69c3e1fd-5cb7-0a2a0a5109dd-0a2a450998f4-40 for ; Wed, 25 Mar 2026 14:24:31 +0100 Received: from [209.85.221.53] (helo=mail-wr1-f53.google.com) by tlsNG-bad1c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.55.2) (envelope-from ) id 69c3e20e-e484-0a2a45090019-d155dd35e5bf-3 for ; Wed, 25 Mar 2026 14:24:31 +0100 Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-43b9144790dso2518f8f.1 for ; Wed, 25 Mar 2026 06:24:31 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644bdaf8sm53050131f8f.13.2026.03.25.06.24.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 25 Mar 2026 06:24:30 -0700 (PDT) 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1774445070; x=1775049870; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=9BxAnQbQlusdq+Un61mXTAQpPPP3xW8V/k0uzyq9UTY=; b=bkVe48Vk84IlAUBMmIwCIYXQFLPevH8kNgSVd7sRqcVqZGx32lmyYG0o4g6ml23RBX Q3NqIU/958xf9ieoz/VDEvXuSlZ/RhyOl4rg0hyFNooVBKW0Tvj3tGVfC6pPWjjvOOZY 1H4NQlu++B9I/PVI0h4YsekjsWXRbw//3iM8M7nOlfOJMfXEEdc3rXv3Vd2CGccVJ1d3 ppiIsh/5kvX0e9a5cPNzaIqTx8YcCztaCfqzK5kLHPO63CzE4OOxoVKDSSsKLB+Mnjy0 FxyJwgVNZQNYSLU0UbkUC1OplEcamBZEHQrf41tZbYrr/ElfrsnUPmZOGHWN6ymNpgQ3 Dgrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774445070; x=1775049870; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9BxAnQbQlusdq+Un61mXTAQpPPP3xW8V/k0uzyq9UTY=; b=r55fAWeaPP3HYP+PwnRg2cAEBHKcePvnK6NPqj3uK6AGaDFdOJUWYSknkzgDltGAfD Me7htZiu8TmdUeuElArgw2NiZRqV3KmIN81rwhRJTiDhJwmU4srxwYuyvUCUZ6UXFLkh sgPeXzeHc6rqeMb8rWTZ8V428b7XkWEdWA8h5y6VaAG1DuQ7H21/On4+EbLHD96jE16c NpXNtnSc+uwJ5hhFKeLtwP00G5KP735csb3AWMqO46aHgVfbKmgWv9cLY+RC+NDJlbOc jEnMS5AAArAXbYdrb9hgyg6I+NYh3b4QkdETEUwY9VOsdUMbp8mAGec+MCc0kD7bHNnp M8Ng== X-Gm-Message-State: AOJu0YyFVt2tDCo7VBgsUOm/KUaKUpDlF6RXpyzirzT0EFP+keE/Gs1S Q1YFLt+UAGEW1Igu0cTm8fzBZDTbv33IwdnEvohk6KXqvhn+MhBwqZunDbgIsAfQ55nIlFvtAeT askTb5A== X-Gm-Gg: ATEYQzwrlsZXDckFi5l+4T64Xf7eFmAl1xOdKfgPT67K86miSYzlIzIzHM+jlmArTTT Ja78SX/ndgZgt9fN6KFh1unN0BH2zggiexLeup46iBmg4b/O4MK/16PS5V/Jdzkg+4nUL3icZ8Z CSDq8ZSNOffAyRiNiucV3WjyvzfcyPsVHw3p8fWEIuCD3l3abrHR7I5aDRhrr6y5w/Z2rGvs4s0 szRs0coAt6Mq1MYL+34VJ7DdknchXF3j8FKGXWSE3NK5H2wyWaeFfIToXKYRwijlZTD+TBsvmid Km/267EQMLdI/jlfVwQQdeYbQsZKw+AaUjyBJiEhX1H3kvTynOnkdqYEiLMQtwEMKf5xjtYSniZ MIkJEzSehf01C8yemg1lFZi7wxZc/vpfxzq1eVmKn+pwy5BqVTH3Fni16IjqqD56eXG4HRBDTmR tjjStbTFuMo4a/ePFNo32qmq9hj8M1Hx8Ay8PmjCv5eKW9Z5d0Xrnsu8/6BNa+QDwtybKO2nMnw lwPOWSUYt6Q7lA= X-Received: by 2002:a5d:5d0b:0:b0:43b:4592:f91b with SMTP id ffacd0b85a97d-43b8899d295mr5377546f8f.5.1774445070438; Wed, 25 Mar 2026 06:24:30 -0700 (PDT) Message-ID: <32ae65d3-8305-419e-8180-183a2fc8c29e@suse.com> Date: Wed, 25 Mar 2026 14:24:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 2/2] EFI: move pre_parse() back next to get_value() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Marek Marczykowski , Daniel Smith References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-bad1c0/1774445071-68152A73-45487F9D/0/0 X-purgate-type: clean X-purgate-size: 1941 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1774445089592154100 Content-Type: text/plain; charset="utf-8" These are siblings, so better would live close together. Sadly in 1f9540cd8eb6 ("EFI: move efi-boot.h inclusion point") I moved get_value() without also moving pre_parse(). Signed-off-by: Jan Beulich Acked-by: Marek Marczykowski-G=C3=B3recki --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -581,6 +581,31 @@ static char * __init split_string(char * return NULL; } =20 +static void __init pre_parse(const struct file *file) +{ + char *ptr =3D file->str, *end =3D ptr + file->size; + bool start =3D true, comment =3D false; + + for ( ; ptr < end; ++ptr ) + { + if ( iscntrl(*ptr) ) + { + comment =3D false; + start =3D true; + *ptr =3D 0; + } + else if ( comment || (start && isspace(*ptr)) ) + *ptr =3D 0; + else if ( *ptr =3D=3D '#' || (start && *ptr =3D=3D ';') ) + { + comment =3D true; + *ptr =3D 0; + } + else + start =3D 0; + } +} + static char *__init get_value(const struct file *file, const char *section, const char *item) { @@ -904,31 +929,6 @@ static bool __init read_section(const EF return true; } =20 -static void __init pre_parse(const struct file *file) -{ - char *ptr =3D file->str, *end =3D ptr + file->size; - bool start =3D true, comment =3D false; - - for ( ; ptr < end; ++ptr ) - { - if ( iscntrl(*ptr) ) - { - comment =3D false; - start =3D true; - *ptr =3D 0; - } - else if ( comment || (start && isspace(*ptr)) ) - *ptr =3D 0; - else if ( *ptr =3D=3D '#' || (start && *ptr =3D=3D ';') ) - { - comment =3D true; - *ptr =3D 0; - } - else - start =3D 0; - } -} - static void __init init_secure_boot_mode(void) { static EFI_GUID __initdata gv_uuid =3D EFI_GLOBAL_VARIABLE;