From nobody Sun May 5 01:55:51 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+57697+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+57697+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=intel.com Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1587439288800164.95016498510017; Mon, 20 Apr 2020 20:21:28 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id qr8KYY1788612xzOKjMgcnSc; Mon, 20 Apr 2020 20:21:27 -0700 X-Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web12.2314.1587439286804094022 for ; Mon, 20 Apr 2020 20:21:27 -0700 IronPort-SDR: +X6Dj9kgQvnA3G15hn5+e9keZjjZmhcwtFLcrDU++VpKrmj6K4Vl+7rcfYcNP0KWOq2TWZEt02 M1cNXJlPdmqg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2020 20:21:26 -0700 IronPort-SDR: 5+Hmh3DAiXp52+ibLmt+mBwWajkB40jNtDjtv9MJ95GQTthvnbFkkJDPISayDegqk5tQTKKecu EWYA7lEi8kJA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,408,1580803200"; d="scan'208";a="402048719" X-Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by orsmga004.jf.intel.com with ESMTP; 20 Apr 2020 20:21:26 -0700 X-Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Apr 2020 20:21:25 -0700 X-Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 20 Apr 2020 20:21:25 -0700 X-Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 20 Apr 2020 20:21:25 -0700 X-Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.58) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Apr 2020 20:21:22 -0700 X-Received: from BN8PR11MB3793.namprd11.prod.outlook.com (2603:10b6:408:86::23) by BN8PR11MB3633.namprd11.prod.outlook.com (2603:10b6:408:8a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Tue, 21 Apr 2020 03:21:21 +0000 X-Received: from BN8PR11MB3793.namprd11.prod.outlook.com ([fe80::6455:7f80:a3b2:730b]) by BN8PR11MB3793.namprd11.prod.outlook.com ([fe80::6455:7f80:a3b2:730b%5]) with mapi id 15.20.2921.027; Tue, 21 Apr 2020 03:21:21 +0000 From: "Feng, YunhuaX" To: "devel@edk2.groups.io" CC: "Gao, Liming" , "Feng, Bob C" Subject: [edk2-devel] [edk2-staging][PATCH] BaseTools/FMMT: Fix FV add FFs issue Thread-Topic: [edk2-staging][PATCH] BaseTools/FMMT: Fix FV add FFs issue Thread-Index: AdYXi7wd+SobvAllTlyDMyTcV5hqrQ== Date: Tue, 21 Apr 2020 03:21:21 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-reaction: no-action dlp-product: dlpe-windows x-originating-ip: [192.55.52.208] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e9bb5095-20bc-4c88-f2ba-08d7e5a3106f x-ms-traffictypediagnostic: BN8PR11MB3633: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1079; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: jCKIf3qzTcxXKIf3YgiDDw5f1hJWj8zbRxl+VHEErNUmHJ7XzoOWezFEM6XnK9hQLjHOoprmc7oEKYI/54siB5gsXnKnEojDrRmLgdx6ScZy+fkBeb9KmIJQxC9IEyOJQw+vPPzwRRuOdOCfK21l/AzjxoME33QcYeJejvTCGAVQhE/g/9AiWDUheG0K1MV8s2oF6EOZ5UZn7g3drG/53lox85VQLjxhaBVPPfF5mBcpARztC6qEV42K5ykp9MbEth3CympqRoWW8ty4mPtdbdCcTS4MtHSz1lX/xvHewp0zujFmTGBolSpT0hcxJbVO+cl0YsaWjaMUui+edMG1K57cuLmDosxJcYhGm/sAFErIOTOcwWT/x8killkoUg00BqZu/J5Pz8vVGZi6pCV5SyTiIGEIrVQdzdNjoSoHi/XMa+NDsOOZJvhfXaHhwAab x-ms-exchange-antispam-messagedata: z6SXNiS+b5njbXNnb8NDbovvcqjgFPRIxC7F04X2BiVXArQDW4pD0HlWpJeWMCE29GRKgq/xghqr763v5NlFkMKD2U56/Hcseu90N5vwqMQ0bsN3B3dTocFqjspqx2yxoW2kLX+hPmQT5pfiR6iO0w== arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DMVHXV8n2TtumiG1IptPN8ClE+dBWKHlZg8Q/IvQPQBVEBSpyLxB2KfELlpqvFR1REIxR7Rw7/d+U4Vf708JTzUZC4xJVHnqBaHJKk76xhHwQsVLxMeUvsrgpDCscjLAvd0e+WZbtCu5KhjOiqiPgmzmC6Hd1pLwtka92PBEmQHHNGQQu99fk5uqiABDFslejXzjZ1APFjASe0/MWpfh1g9gmOEQuk8dn3lKDxsmnzf/mhgj8h8/fcm8ytPcepnd9OtMW2ETu2aLsGG3X2I+Co+Azym8B9UPgYnYw5EjGEWMLq8wuFXQqyzCRfSfyDLojXTP2DR1G7nzpLvoDPLP8g== arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YlEj3f0VBs7VRwjHdJcC9LJ7fLxJ0eKdg+MnTgXEkfY=; b=Ay7mUs86n5Ch9XLQnneDZYruRv0XIZwvkc2r5UlZGXLJJ3/Lw74PHoOiPcOM8JX0UpmQlF8y4T21es6yuhNmiEmpZBc0UNDpbnPiOARfE1p7CynT9AKZSaOf5kOgTeQzyz8mANExrT3fGA5MnjdoRZAs8tBlSM4ZLB5BGiJzda0w59x1uabAkBc/7/KAIoquH+7H02qOunYdCv6+piKtMptVLgYmSnjFsT4wjl1FnfLq7yOKwQKLWcNVV/AoulS+67l0F6+V2nFSQp048j5zpHQvJvzla6sBTOJenHiEo9uFmXje6psWijYqSXlJ/OwPM9n0vF7Wyc/l+0Ci9R3y1w== arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none x-ms-exchange-crosstenant-network-message-id: e9bb5095-20bc-4c88-f2ba-08d7e5a3106f x-ms-exchange-crosstenant-originalarrivaltime: 21 Apr 2020 03:21:21.2047 (UTC) x-ms-exchange-crosstenant-fromentityheader: Hosted x-ms-exchange-crosstenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d x-ms-exchange-crosstenant-mailboxtype: HOSTED x-ms-exchange-crosstenant-userprincipalname: izOWHtEJVszYvwLaBLZQiRSlJZBkcXGIEuPzUXOPDMnq6zgd4shzwwOMI3AT/W3odnnSNUbcYCH0Pt1R7M5VKA== x-ms-exchange-transport-crosstenantheadersstamped: BN8PR11MB3633 MIME-Version: 1.0 X-OriginatorOrg: intel.com Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yunhuax.feng@intel.com X-Gm-Message-State: 9UeokFiDzFgT7EkDTJ2X938ux1787277AA= Content-Language: en-US Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1587439287; bh=XpBHDELj7/ZZ0/H4C1YyLYSG1lv3l/x7IPHtyu31gY0=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=P89i+TkNRWDgSnKa6lna026/r+VuGlx0O5qZiUhs/rqgJF8f5CaHCpUtPxi9JKfDFEO OkRqDtncep9fqeYTqMc8Ac4mp6Ty62sm9nE+xnGSxyuil9joPV4alGNDJW2JQY0fzvGX3 ed5IGQkSpWhJ2IWD+bfLZMnf2vmVf1TFtNY= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" when Fv not include any FFS, will encounter not enough space to add issue. Change-Id: Ie401f0edcf3f9b6bcae706a877b284e840f61fe9 Cc: Bob Feng Cc: Liming Gao Signed-off-by: Yunhua Feng --- BaseTools/Source/C/FMMT/FirmwareModuleManagement.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/BaseTools/Source/C/FMMT/FirmwareModuleManagement.c b/BaseTools= /Source/C/FMMT/FirmwareModuleManagement.c index 415096742d..59fda0b729 100644 --- a/BaseTools/Source/C/FMMT/FirmwareModuleManagement.c +++ b/BaseTools/Source/C/FMMT/FirmwareModuleManagement.c @@ -477,10 +477,12 @@ AddFfs(UINT8 *FdBuffer, UINT32 ImageAddress, EFI_FIRM= WARE_VOLUME_HEADER* Fv, EFI UINTN Offset; UINTN FfsSize; EFI_STATUS Status; EFI_FFS_FILE_HEADER2 *CurrentFile; EFI_FFS_FILE_HEADER FreeHeader; + EFI_FIRMWARE_VOLUME_HEADER* hdr; + EFI_FIRMWARE_VOLUME_EXT_HEADER * FwVolExtHeader; if (Fv->Attributes & EFI_FVB2_ERASE_POLARITY) { memset(&FreeHeader, -1, sizeof(EFI_FFS_FILE_HEADER)); } else { @@ -499,10 +501,20 @@ AddFfs(UINT8 *FdBuffer, UINT32 ImageAddress, EFI_FIRM= WARE_VOLUME_HEADER* Fv, EFI // FreeOffset =3D (UINTN)ALIGN_POINTER(Offset, 8); } Status =3D FvBufFindNextFile(FdBuffer + ImageAddress, &Offset, (VOID *= *)&CurrentFile); if (Status =3D=3D EFI_NOT_FOUND) { + if (FreeOffset =3D=3D 0) { + hdr =3D ( EFI_FIRMWARE_VOLUME_HEADER*)((UINT8*)FdBuffer + ImageAdd= ress); + if (hdr->ExtHeaderOffset !=3D 0) { + FwVolExtHeader =3D (EFI_FIRMWARE_VOLUME_EXT_HEADER *)((UINT8 *)h= dr + hdr->ExtHeaderOffset); + FreeOffset =3D (UINTN)hdr->ExtHeaderOffset + FwVolExtHeader->Ext= HeaderSize; + FreeOffset =3D (UINTN)ALIGN_POINTER(FreeOffset, 8); + } else { + FreeOffset =3D hdr->HeaderLength; + } + } CurrentFile =3D NULL; break; } else if (EFI_ERROR(Status)) { return Status; -- 2.12.2.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#57697): https://edk2.groups.io/g/devel/message/57697 Mute This Topic: https://groups.io/mt/73165510/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-