[S390] correct ipl parameter block safe guard

The 'output' variable is passed from decompress_kernel to
check_ipl_parmblock before it is initialized. That disables the
safe guard against the overwrite of the ipl parameter block.
Fix this by passing the correct value to check_ipl_parmblock.

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by Martin Schwidefsky and committed by Martin Schwidefsky a8c8d7c6 03e3b5a0

+3 -2
+3 -2
arch/s390/boot/compressed/misc.c
··· 133 133 unsigned long output_addr; 134 134 unsigned char *output; 135 135 136 - check_ipl_parmblock((void *) 0, (unsigned long) output + SZ__bss_start); 136 + output_addr = ((unsigned long) &_end + HEAP_SIZE + 4095UL) & -4096UL; 137 + check_ipl_parmblock((void *) 0, output_addr + SZ__bss_start); 137 138 memset(&_bss, 0, &_ebss - &_bss); 138 139 free_mem_ptr = (unsigned long)&_end; 139 140 free_mem_end_ptr = free_mem_ptr + HEAP_SIZE; 140 - output = (unsigned char *) ((free_mem_end_ptr + 4095UL) & -4096UL); 141 + output = (unsigned char *) output_addr; 141 142 142 143 #ifdef CONFIG_BLK_DEV_INITRD 143 144 /*