On Wed, Oct 16, 2019 at 03:11:41PM -0700, Eric Biggers wrote: > +static void end_buffer_async_read_io(struct buffer_head *bh, int uptodate) > +{ > + /* Decrypt if needed */ > + if (uptodate && IS_ENABLED(CONFIG_FS_ENCRYPTION) && > + IS_ENCRYPTED(bh->b_page->mapping->host)) { > + struct decrypt_bh_ctx *ctx = kmalloc(sizeof(*ctx), GFP_ATOMIC); Technically this should check S_ISREG() too (though it happens not to make a difference currently). I'll fix it in the next version of this patchset. We probably should add a helper function fscrypt_needs_contents_encryption() that returns IS_ENABLED(CONFIG_FS_ENCRYPTION) && IS_ENCRYPTED() && S_ISREG(). - Eric