mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-12 15:38:21 +00:00
sun4u: ensure kernel_top is always initialised
Valgrind reports that when loading a non-ELF kernel, kernel_top may be used uninitialised when checking for an initrd. Since there are no known non-ELF kernels for SPARC64 then we can simply initialise kernel_top to 0 and then skip the initrd load process if it hasn't been set by load_elf(). Reported-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
d0092d90eb
commit
3ac24188ec
@ -139,7 +139,7 @@ static uint64_t sun4u_load_kernel(const char *kernel_filename,
|
||||
unsigned int i;
|
||||
long kernel_size;
|
||||
uint8_t *ptr;
|
||||
uint64_t kernel_top;
|
||||
uint64_t kernel_top = 0;
|
||||
|
||||
linux_boot = (kernel_filename != NULL);
|
||||
|
||||
@ -172,7 +172,7 @@ static uint64_t sun4u_load_kernel(const char *kernel_filename,
|
||||
}
|
||||
/* load initrd above kernel */
|
||||
*initrd_size = 0;
|
||||
if (initrd_filename) {
|
||||
if (initrd_filename && kernel_top) {
|
||||
*initrd_addr = TARGET_PAGE_ALIGN(kernel_top);
|
||||
|
||||
*initrd_size = load_image_targphys(initrd_filename,
|
||||
|
Loading…
x
Reference in New Issue
Block a user