mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 07:44:49 +01:00
thunderbolt: Compare HMAC values in constant time
To prevent timing attacks, HMAC value comparison needs to be constant
time. Replace the memcmp() with the correct function, crypto_memneq().
Fixes: f67cf49117 ("thunderbolt: Add support for Internal Connection Manager (ICM)")
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
parent
8f5ae30d69
commit
dced755df3
1 changed files with 2 additions and 1 deletions
|
|
@ -13,6 +13,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/random.h>
|
||||
#include <crypto/hash.h>
|
||||
#include <crypto/utils.h>
|
||||
|
||||
#include "tb.h"
|
||||
|
||||
|
|
@ -748,7 +749,7 @@ int tb_domain_challenge_switch_key(struct tb *tb, struct tb_switch *sw)
|
|||
goto err_free_shash;
|
||||
|
||||
/* The returned HMAC must match the one we calculated */
|
||||
if (memcmp(response, hmac, sizeof(hmac))) {
|
||||
if (crypto_memneq(response, hmac, sizeof(hmac))) {
|
||||
ret = -EKEYREJECTED;
|
||||
goto err_free_shash;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue