]> git.karo-electronics.de Git - karo-tx-linux.git/commit
crypto: blkcipher_get_spot() handling of buffer at end of page
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 11 Sep 2007 02:31:59 +0000 (10:31 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 26 Sep 2007 17:54:41 +0000 (10:54 -0700)
commit01add92dd4be6b4641219ea616bc31e6337cbd6c
tree1a693dcadabeb90b5dc7ebd42391ef9ffceee12a
parentd2f7a9bf48930c25bbd293c28641a8f251c44474
crypto: blkcipher_get_spot() handling of buffer at end of page

This corresponds to upstream changesets
e4630f9fd8cdc14eb1caa08dafe649eb5ae09985 and
32528d0fbda1093eeeaa7d0a2c498bbb5154099d.

[CRYPTO] blkcipher: Fix handling of kmalloc page straddling

The function blkcipher_get_spot tries to return a buffer of
the specified length that does not straddle a page.  It has
an off-by-one bug so it may advance a page unnecessarily.

What's worse, one of its callers doesn't provide a buffer
that's sufficiently long for this operation.

This patch fixes both problems.  Thanks to Bob Gilligan for
diagnosing this problem and providing a fix.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
crypto/blkcipher.c