From 8639e34d2c5e12cc2e45c95b1a2e97c22bf6a711 Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Mon, 29 Jan 2018 22:58:24 +0300 Subject: [PATCH] part: Allocate only one legacy_mbr buffer Commit ff98cb90514d ("part: extract MBR signature from partitions") blindly switched allocated by ALLOC_CACHE_ALIGN_BUFFER buffer type from "unsigned char" to "legacy_mbr" which caused allocation of size = (typeof(legacy_mbr) * dev_desc->blksize) instead of just space enough for "legacy_mbr" structure. Signed-off-by: Alexey Brodkin Cc: Rob Clark Cc: Peter Jones Cc: Alexander Graf Cc: Tom Rini --- 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 046f9bb..9dd086d 100644 --- a/disk/part_dos.c +++ b/disk/part_dos.c @@ -90,7 +90,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, dev_desc->blksz); + ALLOC_CACHE_ALIGN_BUFFER(legacy_mbr, mbr, 1); if (blk_dread(dev_desc, 0, 1, (ulong *)mbr) != 1) return -1;