On Tue, Sep 15 2020 at 11:53pm -0400, Eric Biggers <[email protected]> wrote:
> From: Eric Biggers <[email protected]> > > bio_crypt_clone() assumes its gfp_mask argument always includes > __GFP_DIRECT_RECLAIM, so that the mempool_alloc() will always succeed. > > However, bio_crypt_clone() might be called with GFP_ATOMIC via > setup_clone() in drivers/md/dm-rq.c, or with GFP_NOWAIT via > kcryptd_io_read() in drivers/md/dm-crypt.c. > > Neither case is currently reachable with a bio that actually has an > encryption context. However, it's fragile to rely on this. Just make > bio_crypt_clone() able to fail, analogous to bio_integrity_clone(). > > Reported-by: Miaohe Lin <[email protected]> > Cc: Satya Tangirala <[email protected]> > Signed-off-by: Eric Biggers <[email protected]> Reviewed-by: Mike Snitzer <[email protected]> -- dm-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/dm-devel
