[edk2-devel] [PATCH 2/3] MdeModulePkg/PartitionDxe: Remove the check for special MBR

Gao, Zhichao zhichao.gao at intel.com
Tue Aug 11 06:43:01 UTC 2020


REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2823

Follow the spec definition, the ISO 9660 (and UDF) would be
checked before the MBR. So it is not required to skip such
MBR talbe that contian the entire block device.

Cc: Jian J Wang <jian.j.wang at intel.com>
Cc: Hao A Wu <hao.a.wu at intel.com>
Cc: Ray Ni <ray.ni at intel.com>
Cc: Gary Lin <glin at suse.com>
Cc: Andrew Fish <afish at apple.com>
Signed-off-by: Zhichao Gao <zhichao.gao at intel.com>
---
 .../Universal/Disk/PartitionDxe/Mbr.c         | 19 -------------------
 1 file changed, 19 deletions(-)

diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
index 3830af1ea7..822bf03e92 100644
--- a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
+++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
@@ -55,25 +55,6 @@ PartitionValidMbr (
     StartingLBA = UNPACK_UINT32 (Mbr->Partition[Index1].StartingLBA);
     SizeInLBA   = UNPACK_UINT32 (Mbr->Partition[Index1].SizeInLBA);
 
-    //
-    // If the MBR with partition entry covering the ENTIRE disk, i.e. start at LBA0
-    // with whole disk size, we treat it as an invalid MBR partition.
-    //
-    if ((StartingLBA == 0) &&
-        (SizeInLBA == (LastLba + 1))) {
-      //
-      // Refer to the http://manpages.ubuntu.com/manpages/bionic/man8/mkudffs.8.html
-      // "WHOLE DISK VS PARTITION"
-      // Some linux ISOs may put the MBR table in the first 512 bytes for compatibility reasons with Windows.
-      // Linux  kernel  ignores MBR table if contains partition which starts at sector 0.
-      // Skip it because we don't have the partition check for UDF(El Torito compatible).
-      // It would continue to do the whole disk check in the UDF routine.
-      //
-      DEBUG ((DEBUG_INFO, "PartitionValidMbr: MBR table has partition entry covering the ENTIRE disk. Don't treat it as a valid MBR.\n"));
-
-      return FALSE;
-    }
-
     if (Mbr->Partition[Index1].OSIndicator == 0x00 || SizeInLBA == 0) {
       continue;
     }
-- 
2.21.0.windows.1


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

View/Reply Online (#63952): https://edk2.groups.io/g/devel/message/63952
Mute This Topic: https://groups.io/mt/76121499/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list