My current code for encryption/decryption uses zio_buf_alloc() in zio_encrypt_data() and zio_buf_free() in zio_read_decrypt(). I''ve just found a test case where the ASSERT in zio_buf_alloc() tripped. This happened because of the additional 16bytes of CCM auth tag I need in the ciphertext buffer. Note that I''m not writing that to disk and the buffer size gets "adjusted" later. I think I have an alternate solution to my problem and the above is just for some background. Can I use plain kmem_alloc() for the data used in the zio_push/pop_transform() or must the data be allocated with zio_buf_alloc() ? -- Darren J Moffat