]> git.sur5r.net Git - u-boot/commitdiff
part: Allocate only one legacy_mbr buffer
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Mon, 29 Jan 2018 19:58:24 +0000 (22:58 +0300)
committerTom Rini <trini@konsulko.com>
Thu, 8 Feb 2018 03:06:17 +0000 (22:06 -0500)
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 <abrodkin@synopsys.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Peter Jones <pjones@redhat.com>
Cc: Alexander Graf <agraf@suse.de>
Cc: Tom Rini <trini@konsulko.com>
disk/part_dos.c

index 046f9bbb3d697dccf702d263d9d0cd15f00b0a68..9dd086d3db0610d966f446b0f3ea350de9a71f57 100644 (file)
@@ -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;