[U-Boot] [PATCH] Revert "part: Allocate only one legacy_mbr buffer"

Faiz Abbas faiz_abbas at ti.com
Wed Sep 4 09:22:19 UTC 2019


This reverts commit 8639e34d2c5e12cc2e45c95b1a2e97c22bf6a711.

The blk_dread() call following the allocation will read one block from
the device. This will lead to overflow if the blocksize is greater than
the size of legacy_mbr. Fix this by allocating one block size.

Signed-off-by: Faiz Abbas <faiz_abbas at ti.com>
---
 disk/part_dos.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/disk/part_dos.c b/disk/part_dos.c
index aae9d95906..24d23ad247 100644
--- a/disk/part_dos.c
+++ b/disk/part_dos.c
@@ -93,7 +93,7 @@ static int test_block_type(unsigned char *buffer)
 static int part_test_dos(struct blk_desc *dev_desc)
 {
 #ifndef CONFIG_SPL_BUILD
-	ALLOC_CACHE_ALIGN_BUFFER(legacy_mbr, mbr, 1);
+	ALLOC_CACHE_ALIGN_BUFFER(legacy_mbr, mbr, dev_desc->blksz);
 
 	if (blk_dread(dev_desc, 0, 1, (ulong *)mbr) != 1)
 		return -1;
-- 
2.19.2



More information about the U-Boot mailing list