mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
s390: use correct input data address for setup_randomness
commit4920e3cf77upstream. The current implementation of setup_randomness uses the stack address and therefore the pointer to the SYSIB 3.2.2 block as input data address. Furthermore the length of the input data is the number of virtual-machine description blocks which is typically one. This means that typically a single zero byte is fed to add_device_randomness. Fix both of these and use the address of the first virtual machine description block as input data address and also use the correct length. Fixes:bcfcbb6bae("s390: add system information as device randomness") Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
321081d522
commit
e067f68db2
@@ -821,7 +821,7 @@ static void __init setup_randomness(void)
|
|||||||
|
|
||||||
vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||||
if (stsi(vmms, 3, 2, 2) == 0 && vmms->count)
|
if (stsi(vmms, 3, 2, 2) == 0 && vmms->count)
|
||||||
add_device_randomness(&vmms, vmms->count);
|
add_device_randomness(&vmms->vm, sizeof(vmms->vm[0]) * vmms->count);
|
||||||
memblock_free((unsigned long) vmms, PAGE_SIZE);
|
memblock_free((unsigned long) vmms, PAGE_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user