mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
ubifs: use crypto_shash_tfm_digest() in ubifs_hmac_wkm()
Simplify ubifs_hmac_wkm() by using crypto_shash_tfm_digest() instead of an alloc+init+update+final sequence. This should also improve performance. Signed-off-by: Eric Biggers <ebiggers@google.com> Tested-by: Zhihao Cheng <chengzhihao1@huawei.com> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
861deac3b0
commit
738fadaa54
@ -507,28 +507,13 @@ out:
|
||||
*/
|
||||
int ubifs_hmac_wkm(struct ubifs_info *c, u8 *hmac)
|
||||
{
|
||||
SHASH_DESC_ON_STACK(shash, c->hmac_tfm);
|
||||
int err;
|
||||
const char well_known_message[] = "UBIFS";
|
||||
|
||||
if (!ubifs_authenticated(c))
|
||||
return 0;
|
||||
|
||||
shash->tfm = c->hmac_tfm;
|
||||
|
||||
err = crypto_shash_init(shash);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = crypto_shash_update(shash, well_known_message,
|
||||
sizeof(well_known_message) - 1);
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
err = crypto_shash_final(shash, hmac);
|
||||
if (err)
|
||||
return err;
|
||||
return 0;
|
||||
return crypto_shash_tfm_digest(c->hmac_tfm, well_known_message,
|
||||
sizeof(well_known_message) - 1, hmac);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user