projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cbc86b9
)
crypto: padlock - Fix hashing of partial blocks
author
Herbert Xu
<herbert@gondor.apana.org.au>
Thu, 16 Jul 2009 02:33:27 +0000
(10:33 +0800)
committer
Herbert Xu
<herbert@gondor.apana.org.au>
Thu, 16 Jul 2009 02:33:27 +0000
(10:33 +0800)
When we encounter partial blocks in finup, we'll invoke the xsha
instruction with a bogus count that is not a multiple of the block
size. This patch fixes it.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/padlock-sha.c
patch
|
blob
|
history
diff --git
a/drivers/crypto/padlock-sha.c
b/drivers/crypto/padlock-sha.c
index a936ba49b390f84603c022a7895f14c9ccd1ab02..76cb6b345e7b4a732e99f1c86b8dfc175a64cb52 100644
(file)
--- a/
drivers/crypto/padlock-sha.c
+++ b/
drivers/crypto/padlock-sha.c
@@
-94,6
+94,7
@@
static int padlock_sha1_finup(struct shash_desc *desc, const u8 *in,
memcpy(state.buffer + leftover, in, count);
in = state.buffer;
count += leftover;
+ state.count &= ~(SHA1_BLOCK_SIZE - 1);
}
}
@@
-157,6
+158,7
@@
static int padlock_sha256_finup(struct shash_desc *desc, const u8 *in,
memcpy(state.buf + leftover, in, count);
in = state.buf;
count += leftover;
+ state.count &= ~(SHA1_BLOCK_SIZE - 1);
}
}