On Sat, Nov 19, 2016 at 10:08:06PM +0100, Stephan Mueller wrote: > > The way to go on this topic would be to use the same logic as the authenc > implementation by using a null cipher for the copy operation. Though, finding > out whether the src and dst buffers are the same is an interesting > proposition, because we need to traverse the src and dst SGLs to see whether > the same pages and same offsets are used. A simple check for src SGL == dst > SGL will not work for the AF_ALG implementation, because the src SGL will > always be different from the dst SGL because they are constructed in different > ways (tsgl will always be different from rsgl). What may be the same are the > pages and offsets that are pointed to by the SGL in case of zerocopy. True, you won't be able to use the fast path and will end up doing the copy. However, it should still work because we also have an aliasing check within the null copy code (skcipher_null_crypt). So for the sake of simplicity, I think we should start with just copying src to dst unconditionally in algif_aead, and then calling the underlying crypto code with just dst to invoke the inplace code path. Cheers, -- Email: Herbert Xu <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