Commit 02cc5114 authored by Milton Miller's avatar Milton Miller Committed by Paul Mackerras

[POWERPC] bootwrapper: Decompress less, check more

Our kernels put everything in the first load segment, and we read that.
Instead of decompressing to the end of the gzip stream or supplied image
and hoping we get it all, decompress the expected size and complain if
it is not available.
Signed-off-by: default avatarMilton Miller <miltonm@bga.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 1383a34f
...@@ -79,7 +79,10 @@ static struct addr_range prep_kernel(void) ...@@ -79,7 +79,10 @@ static struct addr_range prep_kernel(void)
vmlinuz_addr, vmlinuz_addr+vmlinuz_size); vmlinuz_addr, vmlinuz_addr+vmlinuz_size);
/* discard up to the actual load data */ /* discard up to the actual load data */
gunzip_discard(&gzstate, ei.elfoffset - sizeof(elfheader)); gunzip_discard(&gzstate, ei.elfoffset - sizeof(elfheader));
len = gunzip_finish(&gzstate, addr, ei.memsize); len = gunzip_finish(&gzstate, addr, ei.loadsize);
if (len != ei.loadsize)
fatal("ran out of data! only got 0x%x of 0x%lx bytes.\n\r",
len, ei.loadsize);
printf("done 0x%x bytes\n\r", len); printf("done 0x%x bytes\n\r", len);
flush_cache(addr, ei.loadsize); flush_cache(addr, ei.loadsize);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment