Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: a35de0aff3e92c8584419720be199ccfff9b6a43
      
https://github.com/tianocore/edk2/commit/a35de0aff3e92c8584419720be199ccfff9b6a43
  Author: Zhichao Gao <[email protected]>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c

  Log Message:
  -----------
  MdeModulePkg/PartitionDxe: Correct the MBR last block value

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

PartitionValidMbr function's second parameter should be the
last sector of the device. For MBR partition, the block size is
sector size, i.e. 512 bytes. The original value is media block
last LBA which is counted by the media block size. And media
block size is not always 512 bytes, it may be larger which would
cause the MBR boundary check incorrect. The boundary check is
based on the partition entry start LBA and size of LBA which
are both counted by the sector number (512 bytes).

Cc: Hao A Wu <[email protected]>
Cc: Ray Ni <[email protected]>
Signed-off-by: Zhichao Gao <[email protected]>
Reviewed-by: Ray Ni <[email protected]>


  Commit: e906346dcb80fce588ac774c8ec9694b62f0a257
      
https://github.com/tianocore/edk2/commit/e906346dcb80fce588ac774c8ec9694b62f0a257
  Author: Zhichao Gao <[email protected]>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c

  Log Message:
  -----------
  MdeModulePkg/PartitionDxe: Skip the MBR that add for CD-ROM

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

Refer to
http://manpages.ubuntu.com/manpages/bionic/man8/mkudffs.8.html.
Some Linux ISOs may have the MBR table for compatibility reasons
for Windows. The MBR tale would contain the partition entry with
start LBA0 and whole media size. There are two methods to check
the filesystem in the CD-ROM:
1. MBR partition check (Windows)
2. Whole disk check (MAC OS)

UEFI doesn't have the MBR check for UDF and Eltorito. But it may
pass the MBR check for such table and fail to detect the filesystem
of UDF. Skip the MBR check if the MBR is added for Windows
compatiblity so that the partition driver can continue UDF and
ElTorito check.

Cc: Hao A Wu <[email protected]>
Cc: Ray Ni <[email protected]>
Signed-off-by: Zhichao Gao <[email protected]>
Reviewed-by: Ray Ni <[email protected]>


  Commit: c7195b9ec3c5f8f40119c96ac4a0ab1e8cebe9dc
      
https://github.com/tianocore/edk2/commit/c7195b9ec3c5f8f40119c96ac4a0ab1e8cebe9dc
  Author: Zhichao Gao <[email protected]>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c

  Log Message:
  -----------
  MdeModulePkg/PartitionDxe: Add already start check for child hanldes

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

The partition binding driver would run serval times during BDS.
If the partition support MBR, it would pass the first connection
in MBR partition child handler. The second connect for the same
device would return already started which would be treated as
not found. And it would continue to run next partition child
handler check. That is incorrect behavior to do next check if one
of the routine functions is passed. It may cause one device
installed serval partition child handle on it.
So treat the EFI_ALREADY_STARTED as EFI_SUCCESS to avoid incorrect
next partition child handle check.

Cc: Hao A Wu <[email protected]>
Cc: Ray Ni <[email protected]>
Signed-off-by: Zhichao Gao <[email protected]>
Reviewed-by: Hao A Wu <[email protected]>
Reviewed-by: Ray Ni <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/256c4470f86e...c7195b9ec3c5


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to