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

Commit 6d9529c5 authored by Tim Chen's avatar Tim Chen Committed by Herbert Xu
Browse files

crypto: hash - initialize entry len for null input in crypto hash sg list walk



For the special case when we have a null input string, we want
to initialize the entry len to 0 for the hash/ahash walk, so
cyrpto_hash_walk_last will return the correct result indicating
that we have completed the scatter list walk.  Otherwise we may
keep walking the sg list and access bogus memory address.

Signed-off-by: default avatarTim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 7d1311b9
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -131,8 +131,10 @@ int crypto_hash_walk_first(struct ahash_request *req,
{
	walk->total = req->nbytes;

	if (!walk->total)
	if (!walk->total) {
		walk->entrylen = 0;
		return 0;
	}

	walk->alignmask = crypto_ahash_alignmask(crypto_ahash_reqtfm(req));
	walk->sg = req->src;
@@ -147,8 +149,10 @@ int crypto_ahash_walk_first(struct ahash_request *req,
{
	walk->total = req->nbytes;

	if (!walk->total)
	if (!walk->total) {
		walk->entrylen = 0;
		return 0;
	}

	walk->alignmask = crypto_ahash_alignmask(crypto_ahash_reqtfm(req));
	walk->sg = req->src;
@@ -167,8 +171,10 @@ int crypto_hash_walk_first_compat(struct hash_desc *hdesc,
{
	walk->total = len;

	if (!walk->total)
	if (!walk->total) {
		walk->entrylen = 0;
		return 0;
	}

	walk->alignmask = crypto_hash_alignmask(hdesc->tfm);
	walk->sg = sg;