On Wed, Feb 10, 2010 at 09:42:13AM +0000, Dmitry Kasatkin wrote: > Hi, > > It seems that there is a mistake in the implementation of > > int blkcipher_walk_done(struct blkcipher_desc *desc, > struct blkcipher_walk *walk, int err) > > blkcipher_walk_virt() will call crypto_kmap() to map page. > > But in the case then err argument is < 0 and we cannot continue then > blkcipher_walk_done() will not > unmap the page. > > What do you think? Only blkcipher.c itself calls blkcipher_walk_done with err < 0. Algorithms are not supposed to do that as this interface is only for synchronous implementations. When blkcipher.c uses it with err < 0 the pages are never mapped. Do you need to be able to fail with a synchronous algorithm? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html