From nobody Tue Apr 30 13:26:29 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+62805+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+62805+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 1595230016346383.08166975421386; Mon, 20 Jul 2020 00:26:56 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id WKeVYY1788612xLWaPYReDia; Mon, 20 Jul 2020 00:26:55 -0700 X-Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.32943.1595230015196868638 for ; Mon, 20 Jul 2020 00:26:55 -0700 IronPort-SDR: 8i6I2+nyVRU+D9CRE0xc+pm7x4iQ3jskQ0Qe962znYatKUBOxEzxjFdB34T7R+EHOaPIjF8P6c ys9om0kqL3lg== X-IronPort-AV: E=McAfee;i="6000,8403,9687"; a="151210460" X-IronPort-AV: E=Sophos;i="5.75,374,1589266800"; d="scan'208";a="151210460" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2020 00:26:53 -0700 IronPort-SDR: sKYuUQPr0LJV341sN0vQqIp8dPG5mmX5wvLer8i2yhg6qCQvdxDLjAnLoZFB/gVM6JkfUKTh/m ZT26xpA7becw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,374,1589266800"; d="scan'208";a="487635152" X-Received: from orsmsx104.amr.corp.intel.com ([10.22.225.131]) by fmsmga005.fm.intel.com with ESMTP; 20 Jul 2020 00:26:53 -0700 X-Received: from orsmsx163.amr.corp.intel.com (10.22.240.88) by ORSMSX104.amr.corp.intel.com (10.22.225.131) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Jul 2020 00:26:53 -0700 X-Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by ORSMSX163.amr.corp.intel.com (10.22.240.88) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Jul 2020 00:26:53 -0700 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Jul 2020 00:26:53 -0700 X-Received: from BN8PR11MB3793.namprd11.prod.outlook.com (2603:10b6:408:86::23) by BN6PR1101MB2114.namprd11.prod.outlook.com (2603:10b6:405:57::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.25; Mon, 20 Jul 2020 07:26:51 +0000 X-Received: from BN8PR11MB3793.namprd11.prod.outlook.com ([fe80::c8ba:b409:eb67:c403]) by BN8PR11MB3793.namprd11.prod.outlook.com ([fe80::c8ba:b409:eb67:c403%7]) with mapi id 15.20.3195.025; Mon, 20 Jul 2020 07:26:51 +0000 From: "Feng, YunhuaX" To: "devel@edk2.groups.io" CC: "Gao, Liming" , "Feng, Bob C" Subject: [edk2-devel] [edk2-staging][PATCH] BaseTools/Fmmt: Fix regression issue by b41fac8e Thread-Topic: [edk2-staging][PATCH] BaseTools/Fmmt: Fix regression issue by b41fac8e Thread-Index: AdZeZx2EqncGUTPqQnm1aACClnY3FA== Date: Mon, 20 Jul 2020 07:26:51 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.102.204.38] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d4899f55-87ce-467c-3a71-08d82c7e4589 x-ms-traffictypediagnostic: BN6PR1101MB2114: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: Hfl7xMhA5UKbhQeuEm4afhfNh59A9Xsb4lsKunlXdZQseYpa21nX/4z7liZ+VqlIicYXx7zDgopx8h1MiUF8sR00FsodvMXLleIdT46lxZLQX0otEexwWYlIZd33r3G0zde2Q6WyGA+UBUhUN4DP5hIzTQv7Mo5gsbg7n+lVXWiLBD1QPBNyoMmYrwwbMMFAbrsQZBlGCjv97gGlzKdNTrdKY9BA56mpzwQPFiZuRb2qnQu7Qr3tXK4BZm8XnDjTzxX4Ye5Rgxakcw5TPGjbzVU9y6TgusYXJ2liRIt9RKdXTYVGm2S2TltWcM7vTFJOqrGHYAdRohgOIZI4muATKg== x-ms-exchange-antispam-messagedata: yx0iDN2sCCtIT3HmWT9U9SkqZ6jdo0fB9hjrn0JE3HhKadwTvwybCIdRRbF+ofrARA7bx/KdqMZnBYBUYIdY9JsD5Wws2FUFtOzqDBKxRQ93cNfoHFZPKVK8AAkTJMh5rBFtoqHKp0yKMmzDjk3P8hb//EAfWH8HatdysDQhyjtgA4bqgdAZ7Xoe0NVu/ItET+6qY3PH82M2Asa6LWYKNirct21RSqaYasR2QESwdrqjLj7gcWnbfH+SXfoaOAloFC3xfqNxn/rxtYlvWab2kD9wG8UFJqzbdDA5oyp/P8S3XsVMvVpB3KuJbE386ilhiIqq/BsKwvjEL+sMtz1i3g1cdlMiOGJ+HUd2IUah1qtCvRSiZaXrlStb3EpvlhXuZDY+ESdEGMhGt6Zj6U803AYR4r2ATNSnCKzYCy/X3JE4xnwOMbe4emYT76ijkJIS0qMcCnNFwySVh4V/ZCwvmO3Abm4IzQSUSOY5tbzshCxOKAfdiFZJwkAuUsfWacyu arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z9PZDILO4sRdWxawSm5p77Dx6XwYpSApHr80eAIDx1AlXiLHPstfu59DqrUK1MLt/1VvJugzySTabYn8vCDONAjfqR4gHG7uBeno3cg6DkwbdROipLVsWjqmonaIgCAh/8nxaEWZ14SjnoTZGfIUrr5sbhKWmlXgfWZISMaiaMnWcvQZzhYyQ1zz/i8+cCsiWm11hid/cBbnTQXf6FAgXQ9Lj0WBUKmzZgt6BoHE6SUl8SEeYjemgLyAoIvS+Ul+pJAjOQAZ+zwdKyGqhA0/Bmn1H4x8feL9dsPnCl5z4YBe8xsw23ZnS+34NFISDigg/xPhkSeyPTWYCNXGxP3ncQ== 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=6oYlCXsy6YtHk6/8+M93bww4Jj32tNqRp6YsDm9WEww=; b=VvQ4uS//MnHa1qCE/GuYXxhhwKJFqJ/PxZVHOdAQBdLvSmdFbFqJdUCSZbaFJyw/9HD8nlGR/XgJ+PfIeGauSDc8AuE4p7tim5qXdBrAAvSsuuBZx9iBR5ay6/cr4pkZ0m/44qrfwvfIfC9bQlyx+6HdMAawpJdRvf7cQDGhEjmbzHDarpkfaiF96TvlOopf7jbSVFdkyIqN+qUf8n0E+pxF7av/1xTclgFvJh2z67CCS/MZPkeuM8lSVCCxQv7Ms0bnX7XAj4bKzzVf12K/AsrvXm1DhkRAtsVgS6dF4vVZQCn2LW7WoeDfWhQAQ0Q9qtS5Lc3BULLB3R0cGNad4Q== 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-authas: Internal x-ms-exchange-crosstenant-authsource: BN8PR11MB3793.namprd11.prod.outlook.com x-ms-exchange-crosstenant-network-message-id: d4899f55-87ce-467c-3a71-08d82c7e4589 x-ms-exchange-crosstenant-originalarrivaltime: 20 Jul 2020 07:26:51.5698 (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: m+FHaP7YZCYTuHl7HgQkSeKTl0RXnYrbe67TPaZaCE0XfWTixMp6NEZyT+vU5DF4djsaaqzYPZtb5lPC3WjcwA== x-ms-exchange-transport-crosstenantheadersstamped: BN6PR1101MB2114 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: nZx7xrCYnhOQLH1Oyp0VyBVQx1787277AA= 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=1595230015; bh=zo5Svvbq2KXEXYFyxVOy8rOK68G4prKeN4li+PXs80k=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=aPgg43wm17pxTMDyKQMT2Tr/GKcwWioL2JAPj2fOxZ/+xyspnmE2uu/QmPQAiNI0qNL 9MUCpYH6VLIqCLOikQpdkL7ixfUCJMwHwhDXGe6Gx6aZTsTRvHI1dSp1dBfo3qBJ/k9qf 9dtfQ0x74Ha6L9Ijgo75YCZ0dS4TIIX5s4U= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Fix regression issue by b41fac8e Cc: Bob Feng Cc: Liming Gao Signed-off-by: Yunhua Feng Reviewed-by: Liming Gao --- .../Source/C/FMMT/FirmwareModuleManagement.c | 1 + BaseTools/Source/C/FMMT/FmmtLib.c | 20 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/BaseTools/Source/C/FMMT/FirmwareModuleManagement.c b/BaseTools= /Source/C/FMMT/FirmwareModuleManagement.c index c8a53d3def..20663ba163 100644 --- a/BaseTools/Source/C/FMMT/FirmwareModuleManagement.c +++ b/BaseTools/Source/C/FMMT/FirmwareModuleManagement.c @@ -1212,10 +1212,11 @@ FmmtImageAdd( FvInFd->FfsAttuibutes[EndId].FfsName[_MAX_PATH - 1] =3D 0; FvInFd->FfsAttuibutes[EndId].Level =3D NewAddedFfsLevel; memset (&FvInFd->FfsAttuibutes[EndId].GuidName, '\0', size= of(EFI_GUID)); if (EndId > 0) { FvInFd->FfsAttuibutes[EndId].FvLevel =3D FvInFd->FfsAt= tuibutes[EndId - 1].FvLevel; + FvInFd->FfsAttuibutes[EndId].FvId =3D FvInFd->FfsAt= tuibutes[EndId - 1].FvId; FvInFd->FfsAttuibutes[EndId - 1].IsFvEnd =3D 0; } FvInFd->FfsAttuibutes[EndId].IsFvEnd =3D 1; FvInFd->FfsAttuibutes[EndId].IsFvStart =3D 0; NewFileNode =3D NewFileNode->Next; diff --git a/BaseTools/Source/C/FMMT/FmmtLib.c b/BaseTools/Source/C/FMMT/Fm= mtLib.c index 2c3529680e..b945e9b63d 100644 --- a/BaseTools/Source/C/FMMT/FmmtLib.c +++ b/BaseTools/Source/C/FMMT/FmmtLib.c @@ -1,10 +1,10 @@ /** @file Library to parse and generate FV image. - Copyright (c) 2019, Intel Corporation. All rights reserved.
+ Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "FirmwareModuleManagement.h" @@ -900,13 +900,11 @@ LibParseSection ( case EFI_SECTION_FIRMWARE_VOLUME_IMAGE: EncapDataNeedUpdata =3D TRUE; HasUiSection =3D TRUE; - if (FirstInFlag) { - Level ++; - } + Level ++; NumberOfSections ++; CurrentFv->FfsAttuibutes[*FfsCount].IsLeaf =3D FALSE; CurrentFv->FfsAttuibutes[*FfsCount].IsFvStart =3D TRUE; // @@ -1193,13 +1191,10 @@ LibParseSection ( // Put in encapsulate data information. // LocalEncapData =3D *CurrentFvEncapData; if (LocalEncapData->NextNode !=3D NULL) { EncapDataNeedUpdata =3D FALSE; - while (Level !=3D LocalEncapData->Level) { - LocalEncapData =3D LocalEncapData->NextNode; - } while (LocalEncapData->RightNode !=3D NULL) { LocalEncapData =3D LocalEncapData->RightNode; } } GuidAttr =3D ((EFI_GUID_DEFINED_SECTION *)(Ptr + LargeHeaderOffset))= ->Attributes; @@ -1524,13 +1519,10 @@ LibParseSection ( // //Leaf sections // case EFI_SECTION_RAW: - if (FirstInFlag) { - Level++; - } NumberOfSections ++; CurrentFv->FfsAttuibutes[*FfsCount].Level =3D Level; if (!ViewFlag) { if (!*IsFfsGenerated) { LibGenFfsFile(CurrentFile, CurrentFv, FvName, Level, FfsCount, E= rasePolarity); @@ -2149,10 +2141,11 @@ LibGetFvInfo ( EFI_FFS_FILE_HEADER2 *CurrentFile; UINTN Key; ENCAP_INFO_DATA *LocalEncapData; EFI_FIRMWARE_VOLUME_EXT_HEADER *ExtHdrPtr; EFI_FIRMWARE_VOLUME_HEADER *FvHdr; + UINT8 PreFvId; NumberOfFiles =3D 0; Key =3D 0; LocalEncapData =3D NULL; CurrentFile =3D NULL; @@ -2324,10 +2317,11 @@ LibGetFvInfo ( CurrentFile =3D NULL; } else if (EFI_ERROR (Status)) { Error ("FMMT", 0, 0003, "error parsing FV image", "cannot find the fir= st file in the FV image"); return Status; } + PreFvId =3D *FvCount; while (CurrentFile !=3D NULL) { // // Increment the number of files counter @@ -2347,11 +2341,11 @@ LibGetFvInfo ( CurrentFv->FfsHeader[*FfsCount].Type =3D CurrentFile->Type; CurrentFv->FfsHeader[*FfsCount].ExtendedSize =3D CurrentFile->Exte= ndedSize; CurrentFv->FfsAttuibutes[*FfsCount].Offset =3D Key - GetFfsFileLength = ((EFI_FFS_FILE_HEADER *) CurrentFile); CurrentFv->FfsAttuibutes[*FfsCount].FvLevel =3D CurrentFv->FvLevel; - CurrentFv->FfsAttuibutes[*FfsCount].FvId =3D *FvCount; + CurrentFv->FfsAttuibutes[*FfsCount].FvId =3D PreFvId; if (CurrentFv->FvLevel > CurrentFv->MulFvLevel) { CurrentFv->MulFvLevel =3D CurrentFv->FvLevel; } // // Display info about this file @@ -4333,11 +4327,11 @@ LibEncapNewFvFile( LocalEncapData =3D LocalEncapData->NextNode; } } else { LocalEncapData =3D CurrentEncapData; while (LocalEncapData !=3D NULL) { - if (LocalEncapData->Type =3D=3D FMMT_ENCAP_TREE_FFS) { + if (Level_Break > 1 && LocalEncapData->Type =3D=3D FMMT_ENCAP_TREE_F= FS) { LocalEncapDataTemp =3D LocalEncapData->RightNode; while (LocalEncapDataTemp !=3D NULL) { LocalEncapDataNext =3D LocalEncapDataTemp->NextNode; if (LocalEncapDataNext !=3D NULL && LocalEncapDataNext->NextNo= de !=3D NULL) { LibEncapNewFvFile(FvInFd, TemDir, LocalEncapDataTemp, Loca= lEncapDataTemp->Level-1, &ChildFileNameList); @@ -4513,11 +4507,11 @@ LibEncapNewFvFile( } } NewFileNameList =3D FvInFd->ChildFvFFS; while (NewFileNameList !=3D NULL && NewFileNameList -> FFSName= !=3D NULL) { - if (NewFileNameList->FvId =3D=3D LocalEncapData->FvId && N= ewFileNameList -> ParentLevel =3D=3D ParentLevel && Index =3D=3D NewFileNam= eList->InFvId && NewFileNameList->FfsFoundFlag=3D=3DTRUE) { + if (NewFileNameList -> ParentLevel =3D=3D ParentLevel && I= ndex =3D=3D NewFileNameList->InFvId && NewFileNameList->FfsFoundFlag=3D=3DT= RUE) { if (FirstInFlag) { Status =3D LibAddFfsFileToFvInf (NewFileNameList->= FFSName, InfFile, TRUE); FirstInFlag =3D FALSE; } else { Status =3D LibAddFfsFileToFvInf (NewFileNameList->= FFSName, InfFile, FALSE); -- 2.27.0.windows.1 -=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 (#62805): https://edk2.groups.io/g/devel/message/62805 Mute This Topic: https://groups.io/mt/75677604/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-