From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web12.6721.1589015757411588837 for ; Sat, 09 May 2020 02:15:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Fsaais+P; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: yunhuax.feng@intel.com) IronPort-SDR: 5OqBcPbAq3kouqyQ76tAfBIm+6p7Lfavx7Bhwrd6YsgttlCmrzvqmZPAfbTmyQBpLgDVQ72g1n JeUQhFV46rqQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2020 02:15:56 -0700 IronPort-SDR: yoZSRHnVVvVaRgkQeUzIPvp2/Kd0S+9fXAMu9HUMUjfhG9PxEsFx7Q8+KtvDhAUHOQZ/3A3MDo 1aY4/bzMlk0A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,371,1583222400"; d="scan'208";a="252169863" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by fmsmga008.fm.intel.com with ESMTP; 09 May 2020 02:15:56 -0700 Received: from orsmsx113.amr.corp.intel.com (10.22.240.9) by ORSMSX103.amr.corp.intel.com (10.22.225.130) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sat, 9 May 2020 02:15:56 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX113.amr.corp.intel.com (10.22.240.9) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sat, 9 May 2020 02:15:55 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sat, 9 May 2020 02:15:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lijYTbiHm0s8TSZEGeQdvdna0c2YxGhiGU8JaKC6dqyrRQpAohwUubrE+YCYqY3hx0Gfx0YPrRmeEbXejN2o/Xru+TKXrbbpM0iTldyw6p+X/CuXioDXV664wtGw5u6jzbM3DI0Du/Eu6fm8rSzaJ4NEM35SabPYxBKOHFMYxelokjwzm87v9ArxSv2Y+vAQmpy9vp0VCvzSrgg3NFeNRfnD0mV1Uf0F4xAxq7FlRLM0+S3uS1CKPM+xIfbwm5PPpqR4Lp6o/GhKHnB+9jzfStcsdWF6sPckKbZ5dwX+XpVVHaF4w9MRvSLOKrUAit6e1w3dcAqbvWWFBeXWthDt8w== 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=wn6UGdolLyQm7aAMki7Ky0O9zICd5esK80KNaUMOPm4=; b=ExVDM0hsxd36+xvcFH7KIADQyTQUMrOXlNX3/LNExcCKoOK/fiLIzjA5uTfhHSoiB5fXem+VGYXnkcTxp7r14FRjlmDTGcDmy+iBExaYtR9sQXQwiyew5ECaL+IxQsIxfAr3sd3gdNK4hvxJ5xJFELLpu1/S5Pbbwuv7YUn4KHB534tjImaq8vW9Xzc52SnZ54t3k70E07y1Q8cFFaBsEaCjk/Cxx1msRYDXR+3cOd8wKQSVGgZzKgP6o6NepumJ7ngr3aFopbv2AI1+g4HtFk7WoOTmqGRjIuWmxgoYYoEzpuZ0LbwjylCANLjJrYd9HPQN6CazjGFCuBp2uDE57Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wn6UGdolLyQm7aAMki7Ky0O9zICd5esK80KNaUMOPm4=; b=Fsaais+PvfDNbwgU5jxJrdEVj5a+Ukhez2XUS+8mQDzOoKNA+v5Rq0aU3aF0PKDsD7PffM6lQlgR+vTWE7aZBXJtC8Ml9OGkOoqsNexG7FCyYQXFbIbtKB74rYmgGHqRTkf0QwUZ/3qEylPCllI/ZsB7Ayx1UvAzAisGUJzAI5g= Received: from BN8PR11MB3793.namprd11.prod.outlook.com (2603:10b6:408:86::23) by BN8PR11MB3539.namprd11.prod.outlook.com (2603:10b6:408:8b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Sat, 9 May 2020 09:15:51 +0000 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.2979.033; Sat, 9 May 2020 09:15:51 +0000 From: "Feng, YunhuaX" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Gao, Liming" , "Feng, Bob C" Subject: Re: [edk2-staging][PATCH v2] BaseTools/Fmmt: Fix found the next FFS issue Thread-Topic: [edk2-staging][PATCH v2] BaseTools/Fmmt: Fix found the next FFS issue Thread-Index: AdYlz89dvAIJPsIDT6WNyOCkUfkoiQAC0kXgAACigBA= Date: Sat, 9 May 2020 09:15:51 +0000 Message-ID: References: <734D49CCEBEEF84792F5B80ED585239D5C530E94@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C530E94@SHSMSX104.ccr.corp.intel.com> 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 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 798f6dd3-b191-48eb-0f56-08d7f3f991f7 x-ms-traffictypediagnostic: BN8PR11MB3539: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2201; x-forefront-prvs: 03982FDC1D x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4Sjz2kJvP78WDHdmx76iFr6fUhh1cs96gPGOy/eJ8VnFpioU2YC16B3NzyqAUNMA/fLtj4zEaCX2qlepPmL3RBCbg3hwkVXBzstJhQKQHjB8r1kVBT4X2VzJtv9E99JH+5Fm/k7n+oDdVHlTezgUJf2Aq69fNa2kmd97QNn9iSYfSz/3f1N/eLNdi8QsQEIZRtpSbdj6qS0esCsbja0rnSqh2yyprsanwIKAE4f47RksDDJppCUX287ZncDUYhDiEVOMTzP9OsZKYJgtQUyKsfbsX1lJ2Sn68WhmjDbbv57bx5UEO+pIAwH0riOwzgw+mgvaAuPy03oDgtTo3wUBRyANimXp7bFP7cpMH33/IVEX2h8bNMa16S2AdgIwHoWFxSwkqOG1uDCIqBxUpxZ+tLeZPrFGXRvB2U8J4iJ+nina+dzIZ20Rtre8dObjWj4HnYI0eKaBgYa9jGIlk1ImDnE2lPa1YqyQjOcfL1h6I4xKBvM1xsCwXIOvIXh4tif5hE5D8FRdRvKH2e7Xw8Rnjg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3793.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(366004)(396003)(376002)(346002)(39860400002)(136003)(33430700001)(26005)(8676002)(55016002)(71200400001)(107886003)(9686003)(5660300002)(8936002)(54906003)(316002)(110136005)(33440700001)(186003)(2906002)(6506007)(478600001)(53546011)(4326008)(52536014)(33656002)(66446008)(7696005)(66946007)(66556008)(76116006)(66476007)(64756008)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: FzWa9MGMDgQpZDQOboH0/JwRzqxNTjMeIrRTt2jZ5nzReY1EapO5wbBGTeyaGx7QrdqPdD5keiMy8lupFkWibMcsax0gwrOE4yx0/YXp5rmEYPUzYHoODN0qDz3jXKJS7U0fquSieaLpvKBbQ6fAs87sBunOe1ZAw9j07O4NFWuXG8DQnfTm1i0O0GBBXQQCf7WM4WjOFOmRitz7M1ugMHKv+jtuVd3Det9gMii0LuPyttEj6FsdiMos46/cmlJIRrr78p/PopJiDQB2gLP8tZs95IRN92sAItfK7Qb/52zcUbPM9uMC3EeSXpEzKiHFU1+wQPAwY1bF0Y1q36L6z3j/rIOENsRJgykkvVg6uCRnebx325VCo9P4SSp+6RkmeIGe88dbCcVw+1hGRrHvpuNUrrGzRiSVhzVuJnVUi7Lx58SSuY3bDvXRheERDdEd+kMt0tdhkrwbasyil/PozGFjUKFbEBfqAb8o5Yx65Jg= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 798f6dd3-b191-48eb-0f56-08d7f3f991f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2020 09:15:51.4859 (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: OK/JmXS1/mdI5t2GFQFVjPkaQyKyyZZfzqcXRsSPAx5EFv2AD/h8DZLk0Z7uI3JIpImO8yro1mQU1AAnRYjhOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3539 Return-Path: yunhuax.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Ray, I encounter a FV image, behind valid FFS is filled with 0xff, and then fill= ed with some 0x00. In the for-loop, When the fsize =3D=3D 0xFFFFFF, *key =3D *key + 1, so not= break. when the fsize =3D=3D 0x0, *key =3D *key + fsize, so it is dead loop. I hope that if ffs size invalid, break the for-loop.=20 -----Original Message----- From: Ni, Ray =20 Sent: Saturday, May 9, 2020 4:28 PM To: Feng, YunhuaX ; devel@edk2.groups.io Cc: Gao, Liming ; Feng, Bob C Subject: RE: [edk2-staging][PATCH v2] BaseTools/Fmmt: Fix found the next FF= S issue Yunhua, I understand that if the ffs size 0 should be specially handled because oth= erwise the for-loop will be infinite. But why do you need to check the size against 0xFFFFFF? Why the break condition in for-loop " (*Key + sizeof (*fhdr)) < fvSize;" ca= nnot help when the fsize is too big such as 0xFFFFFF? I suggest you explain what issue you want to fix and how this fixes the iss= ue in commit message in detail. Thanks, Ray > -----Original Message----- > From: Feng, YunhuaX > Sent: Saturday, May 9, 2020 3:03 PM > To: devel@edk2.groups.io > Cc: Ni, Ray ; Gao, Liming ;=20 > Feng, Bob C > Subject: [edk2-staging][PATCH v2] BaseTools/Fmmt: Fix found the next=20 > FFS issue >=20 > if the ffs size is invalid, break the iteration and return NOT_FOUND. >=20 > Cc: Ray Ni< ray.ni@intel.com> > Cc: Bob Feng > Cc: Liming Gao >=20 > Change-Id: I9e320d6176af350ff208901209f3f6c89e4e1924 > Signed-off-by: Yunhua Feng > --- > BaseTools/Source/C/FMMT/FmmtLib.c | 7 +++++++ > 1 file changed, 7 insertions(+) >=20 > diff --git a/BaseTools/Source/C/FMMT/FmmtLib.c=20 > b/BaseTools/Source/C/FMMT/FmmtLib.c > index 9ec511ef06..6858cfe778 100644 > --- a/BaseTools/Source/C/FMMT/FmmtLib.c > +++ b/BaseTools/Source/C/FMMT/FmmtLib.c > @@ -1769,10 +1769,17 @@ FvBufFindNextFile ( > (*Key + sizeof (*fhdr)) < fvSize; > *Key =3D (UINTN)ALIGN_POINTER (*Key, 8) > ) { > fhdr =3D (EFI_FFS_FILE_HEADER*) ((UINT8*)hdr + *Key); > fsize =3D GetFfsFileLength (fhdr); > + // > + //if the ffs size is invalid, break the loop > + //the size defined in EFI_FFS_FILE_HEADER is 3 bytes. > + // > + if (fsize =3D=3D (UINTN)((FvbAttributes & EFI_FVB2_ERASE_POLARITY) ?= 0xFFFFFF : 0x0)) { > + break; > + } > if (!EFI_TEST_FFS_ATTRIBUTES_BIT( > FvbAttributes, > fhdr->State, > EFI_FILE_HEADER_VALID > ) || > -- > 2.12.2.windows.2 >=20