As stated in <linux/crypto.h> the encrypt and decrypt functions of the cipher implementations may sleep. This is very unfortunate, as there is no way to use them in atomic context (e.g. network driver output routine, required for CIPE etc.) What is the actual state on this: - Are there implementations which really do sleep? I can't think of a reason why they _have_ to. - Is there a way to find out whether an implementation does this? - How can it be fixed? Usually this would require a GFP_* argument to each function which may allocate memory. Olaf Linux-crypto: cryptography in and on the Linux system Archive: http://mail.nl.linux.org/linux-crypto/