Thread (7 messages) flat view 7 messages, 2 authors, 2011-02-18

crypto: sha-s390 - Reset index after processing partial block

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2011-02-07 09:28:25
Subsystem: s390 architecture, s390 crypto modules, prng driver, arch random, the rest · Maintainers: Heiko Carstens, Vasily Gorbik, Alexander Gordeev, Harald Freudenberger, Holger Dengler, Linus Torvalds

Hi:

This patch fixes an old but nasty bug in the sha-s390 code.

commit 9d20b571f5bda7273656e1b86ef91eddc94adacc
Author: Herbert Xu [off-list ref]
Date:   Mon Feb 7 20:26:06 2011 +1100

    crypto: sha-s390 - Reset index after processing partial block
    
    The partial block handling in sha-s390 is broken when we get a
    partial block that is followed by an update which fills it with
    bytes left-over.  Instead of storing the newly left-over bytes
    at the start of the buffer, it will be stored immediately after
    the previous partial block.
    
    This patch fixes this by resetting the index pointer.
    
    Signed-off-by: Herbert Xu [off-list ref]
diff --git a/arch/s390/crypto/sha_common.c b/arch/s390/crypto/sha_common.c
index f42dbab..48884f8 100644
--- a/arch/s390/crypto/sha_common.c
+++ b/arch/s390/crypto/sha_common.c
@@ -38,6 +38,7 @@ int s390_sha_update(struct shash_desc *desc, const u8 *data, unsigned int len)
 		BUG_ON(ret != bsize);
 		data += bsize - index;
 		len -= bsize - index;
+		index = 0;
 	}
 
 	/* process as many blocks as possible */
Cheers,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help