]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg/PartitionDxe: Correct the MBR last block value
authorZhichao Gao <zhichao.gao@intel.com>
Mon, 6 Jul 2020 06:21:10 +0000 (14:21 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 15 Jul 2020 01:18:13 +0000 (01:18 +0000)
commita35de0aff3e92c8584419720be199ccfff9b6a43
treed4731eb1dc34cfb86a88299329ee2172654eccb9
parent256c4470f86e53661c070f8c64a1052e975f9ef0
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 <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c