Commit dccccd33 authored by Vasily Gorbik's avatar Vasily Gorbik Committed by Martin Schwidefsky

s390/sclp: avoid potential usage of uninitialized value

sclp_early_printk could be used before .bss section is zeroed
(i.e. from als.c during the decompressor phase), therefore values used
by sclp_early_printk should be located in the .data section.

Another reason for that is to avoid potential initrd corruption, if some
code in future would use sclp_early_printk before initrd is moved from
possibly overlapping with .bss section region to a safe location.

Fixes: 0b0d1173 ("s390/sclp: 32 bit event mask compatibility mode")
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 60cc43fc
...@@ -18,7 +18,7 @@ int sclp_init_state __section(.data) = sclp_init_state_uninitialized; ...@@ -18,7 +18,7 @@ int sclp_init_state __section(.data) = sclp_init_state_uninitialized;
* Used to keep track of the size of the event masks. Qemu until version 2.11 * Used to keep track of the size of the event masks. Qemu until version 2.11
* only supports 4 and needs a workaround. * only supports 4 and needs a workaround.
*/ */
bool sclp_mask_compat_mode; bool sclp_mask_compat_mode __section(.data);
void sclp_early_wait_irq(void) void sclp_early_wait_irq(void)
{ {
......
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