mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Merge tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random
Pull /dev/random updates from Ted Ts'o: "This adds a memzero_explicit() call which is guaranteed not to be optimized away by GCC. This is important when we are wiping cryptographically sensitive material" * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: crypto: memzero_explicit - make sure to clear out sensitive data random: add and use memzero_explicit() for clearing data
This commit is contained in:
@@ -1106,7 +1106,7 @@ static void extract_buf(struct entropy_store *r, __u8 *out)
|
||||
__mix_pool_bytes(r, hash.w, sizeof(hash.w));
|
||||
spin_unlock_irqrestore(&r->lock, flags);
|
||||
|
||||
memset(workspace, 0, sizeof(workspace));
|
||||
memzero_explicit(workspace, sizeof(workspace));
|
||||
|
||||
/*
|
||||
* In case the hash function has some recognizable output
|
||||
@@ -1118,7 +1118,7 @@ static void extract_buf(struct entropy_store *r, __u8 *out)
|
||||
hash.w[2] ^= rol32(hash.w[2], 16);
|
||||
|
||||
memcpy(out, &hash, EXTRACT_SIZE);
|
||||
memset(&hash, 0, sizeof(hash));
|
||||
memzero_explicit(&hash, sizeof(hash));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1175,7 +1175,7 @@ static ssize_t extract_entropy(struct entropy_store *r, void *buf,
|
||||
}
|
||||
|
||||
/* Wipe data just returned from memory */
|
||||
memset(tmp, 0, sizeof(tmp));
|
||||
memzero_explicit(tmp, sizeof(tmp));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1218,7 +1218,7 @@ static ssize_t extract_entropy_user(struct entropy_store *r, void __user *buf,
|
||||
}
|
||||
|
||||
/* Wipe data just returned from memory */
|
||||
memset(tmp, 0, sizeof(tmp));
|
||||
memzero_explicit(tmp, sizeof(tmp));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user