[edk2-devel] [PATCH 0/3] MdeModulePkg/PartitionDxe: Make the parition driver match the spec

Gao, Zhichao posted 3 patches 3 years, 8 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
.../Universal/Disk/PartitionDxe/Mbr.c         | 19 ----------------
.../Universal/Disk/PartitionDxe/Partition.c   | 22 ++++++++++---------
2 files changed, 12 insertions(+), 29 deletions(-)
[edk2-devel] [PATCH 0/3] MdeModulePkg/PartitionDxe: Make the parition driver match the spec
Posted by Gao, Zhichao 3 years, 8 months ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2843

Refer to the 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)
4. MBR
5. no partition found

But the code implementation is:
1. GPT
2. MBR
3. ISO 9660 (El Torito) (UDF)
4. no partition found

Which would cause the ISO 9960 image with MBR info be treated as MBR
device. That would cause unexpect behavior. So fix it to follow the spec
description.

The fix of the PartitionInstallChildHandle would change the boot behavior
of Linux ISO image with MBR table. So add it after the order adjustment
to make no impact of the boot.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Gary Lin <glin@suse.com>
Cc: Andrew Fish <afish@apple.com>
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
Zhichao Gao (3):
  MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR
  MdeModulePkg/PartitionDxe: Remove the check for special MBR
  MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child hander

 .../Universal/Disk/PartitionDxe/Mbr.c         | 19 ----------------
 .../Universal/Disk/PartitionDxe/Partition.c   | 22 ++++++++++---------
 2 files changed, 12 insertions(+), 29 deletions(-)

-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#63951): https://edk2.groups.io/g/devel/message/63951
Mute This Topic: https://groups.io/mt/76121498/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 0/3] MdeModulePkg/PartitionDxe: Make the parition driver match the spec
Posted by Gary Lin 3 years, 8 months ago
On Tue, Aug 11, 2020 at 02:42:59PM +0800, Zhichao Gao wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2843
> 
> Refer to the 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)
> 4. MBR
> 5. no partition found
> 
> But the code implementation is:
> 1. GPT
> 2. MBR
> 3. ISO 9660 (El Torito) (UDF)
> 4. no partition found
> 
> Which would cause the ISO 9960 image with MBR info be treated as MBR
> device. That would cause unexpect behavior. So fix it to follow the spec
> description.
> 
> The fix of the PartitionInstallChildHandle would change the boot behavior
> of Linux ISO image with MBR table. So add it after the order adjustment
> to make no impact of the boot.
> 
Thanks for the patches. After applying this patch series, the firmware
recognizes openSUSE/SUSE iso images again.

Tested-by: Gary Lin <glin@suse.com>

> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Gary Lin <glin@suse.com>
> Cc: Andrew Fish <afish@apple.com>
> Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
> Zhichao Gao (3):
>   MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR
>   MdeModulePkg/PartitionDxe: Remove the check for special MBR
>   MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child hander
> 
>  .../Universal/Disk/PartitionDxe/Mbr.c         | 19 ----------------
>  .../Universal/Disk/PartitionDxe/Partition.c   | 22 ++++++++++---------
>  2 files changed, 12 insertions(+), 29 deletions(-)
> 
> -- 
> 2.21.0.windows.1
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#63972): https://edk2.groups.io/g/devel/message/63972
Mute This Topic: https://groups.io/mt/76121498/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-