diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2017-02-05 23:03:18 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-04-18 07:55:53 +0200 |
commit | 080528632e9c2cf7dcb209a935d43857aff0e0fd (patch) | |
tree | 312e0347387881b3a65c342d2f3d0644f38b8acc | |
parent | a6ff96607219d9b25a917062c5cd8aa736998bee (diff) | |
download | linux-stable-080528632e9c2cf7dcb209a935d43857aff0e0fd.tar.gz linux-stable-080528632e9c2cf7dcb209a935d43857aff0e0fd.tar.bz2 linux-stable-080528632e9c2cf7dcb209a935d43857aff0e0fd.zip |
s390: use correct input data address for setup_randomness
commit 4920e3cf77347d7d7373552d4839e8d832321313 upstream.
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: bcfcbb6bae64 ("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>
-rw-r--r-- | arch/s390/kernel/setup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 261c98c97637..ec3b505238cb 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -824,7 +824,7 @@ static void __init setup_randomness(void) vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE); 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); } |