Commit c708c57e authored by Jan Glauber's avatar Jan Glauber Committed by Martin Schwidefsky

[S390] prng: prevent access beyond end of stack

While initializing the state of the prng only the first 8 bytes of
random data where used, the second 8 bytes were read from the memory
after the stack. If only 64 bytes of the kernel stack are used and
CONFIG_DEBUG_PAGEALLOC is enabled a kernel panic may occur because of
the invalid page access. Use the correct multiplicator to stay within
the random data buffer.
Signed-off-by: default avatarJan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 65f8da47
...@@ -76,7 +76,7 @@ static void prng_seed(int nbytes) ...@@ -76,7 +76,7 @@ static void prng_seed(int nbytes)
/* Add the entropy */ /* Add the entropy */
while (nbytes >= 8) { while (nbytes >= 8) {
*((__u64 *)parm_block) ^= *((__u64 *)buf+i*8); *((__u64 *)parm_block) ^= *((__u64 *)buf+i);
prng_add_entropy(); prng_add_entropy();
i += 8; i += 8;
nbytes -= 8; nbytes -= 8;
......
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