Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c431761d authored by Harald Freudenberger's avatar Harald Freudenberger Committed by Martin Schwidefsky
Browse files

s390/crypto: fix stckf loop



The store-clock-fast loop in generate_entropy() mixes (exors)
only the first 64 bytes of the initial page before doing the
first SHA256. Fix the loop to mix the store-clock-fast values
all over the page.

Signed-off-by: default avatarHarald Freudenberger <freude@linux.vnet.ibm.com>
Reported-by: default avatarDavid Binderman <dcb314@hotmail.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent f60b8d44
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ static int generate_entropy(u8 *ebuf, size_t nbytes)
		/* fill page with urandom bytes */
		get_random_bytes(pg, PAGE_SIZE);
		/* exor page with stckf values */
		for (n = 0; n < sizeof(PAGE_SIZE/sizeof(u64)); n++) {
		for (n = 0; n < PAGE_SIZE / sizeof(u64); n++) {
			u64 *p = ((u64 *)pg) + n;
			*p ^= get_tod_clock_fast();
		}