From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web12.10545.1597133069899912882 for ; Tue, 11 Aug 2020 01:04:30 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: ray.ni@intel.com) IronPort-SDR: CkdNUnb6zUJIUJKd7iRyPOevc4a5zBmAwhLtCHon0fbp+8LHo/3XkqeCfFi7iigmr1kEZ2GoF5 /Dy0tWmgD3ig== X-IronPort-AV: E=McAfee;i="6000,8403,9709"; a="141545733" X-IronPort-AV: E=Sophos;i="5.75,460,1589266800"; d="scan'208";a="141545733" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Aug 2020 01:04:24 -0700 IronPort-SDR: nuvqpUPldDyrHQ7A0Ts3BHFoDOl1ydvLWPEVzsG+/S2ZjE8+c3yRNaiRCvXghvYfgHoDjxerYt 8ov4CL6/vmmg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,460,1589266800"; d="scan'208";a="290619836" Received: from unknown (HELO fmsmsx604.amr.corp.intel.com) ([10.18.84.214]) by orsmga003.jf.intel.com with ESMTP; 11 Aug 2020 01:04:24 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 11 Aug 2020 01:04:21 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 11 Aug 2020 01:04:21 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 11 Aug 2020 01:04:21 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.70]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.49]) with mapi id 14.03.0439.000; Tue, 11 Aug 2020 16:04:17 +0800 From: "Ni, Ray" To: "Gao, Zhichao" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Wu, Hao A" , Gary Lin , Andrew Fish Subject: Re: [PATCH 1/3] MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR Thread-Topic: [PATCH 1/3] MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR Thread-Index: AQHWb6qzYeXAyAynkE+lNNOhF/k5iqkyjEOA Date: Tue, 11 Aug 2020 08:04:17 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C66892B@SHSMSX104.ccr.corp.intel.com> References: <20200811064302.33188-1-zhichao.gao@intel.com> <20200811064302.33188-2-zhichao.gao@intel.com> In-Reply-To: <20200811064302.33188-2-zhichao.gao@intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.5.1.3 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Zhichao, Can you also add notes in the commit message describing that for some ISOs = (better with more specific ISO info), the MBR information is not correct? Thanks, Ray > -----Original Message----- > From: Gao, Zhichao > Sent: Tuesday, August 11, 2020 2:43 PM > To: devel@edk2.groups.io > Cc: Wang, Jian J ; Wu, Hao A ;= Ni, Ray ; Gary Lin > ; Andrew Fish > Subject: [PATCH 1/3] MdeModulePkg/PartitionDxe: Put the UDF check ahead o= f MBR >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2823 >=20 > Refer to UEFI spec 2.8, Section 13.3.2, a block device should > be scanned as below order: > 1. GPT > 2. ISO 9660 (El Torito) (UDF should aslo be here) > 3. MBR > 4. no partition found > Note: UDF is using the same boot method as CD, so put it in > the same priority with ISO 9660. >=20 > This would also solve the issue that ISO image with MBR would > be treat as MBR device instead of CD/DVD. That would make the > behavior of the image boot different. >=20 > Cc: Jian J Wang > Cc: Hao A Wu > Cc: Ray Ni > Cc: Gary Lin > Cc: Andrew Fish > Signed-off-by: Zhichao Gao > --- > MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) >=20 > diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > index 6a43c3cafb..473e091320 100644 > --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c > @@ -35,11 +35,19 @@ EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding = =3D { >=20 > // > // Prioritized function list to detect partition table. > +// Refer to UEFI Spec 13.3.2 Partition Discovery, the block device > +// should be scanned in below order: > +// 1. GPT > +// 2. ISO 9660 (El Torito) (or UDF) > +// 3. MBR > +// 4. no partiton found > +// Note: UDF is using a same method as booting from CD-ROM, so put it al= ong > +// with CD-ROM check. > // > PARTITION_DETECT_ROUTINE mPartitionDetectRoutineTable[] =3D { > PartitionInstallGptChildHandles, > - PartitionInstallMbrChildHandles, > PartitionInstallUdfChildHandles, > + PartitionInstallMbrChildHandles, > NULL > }; >=20 > -- > 2.21.0.windows.1