Re: [PATCH v2 1/3] block: make bio_crypt_clone() able to fail
From: Mike Snitzer <hidden>
Date: 2020-09-24 00:56:57
Also in:
dm-devel
From: Mike Snitzer <hidden>
Date: 2020-09-24 00:56:57
Also in:
dm-devel
On Tue, Sep 15 2020 at 11:53pm -0400, Eric Biggers [off-list ref] wrote:
From: Eric Biggers <redacted> 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 <linmiaohe@huawei.com> Cc: Satya Tangirala <redacted> Signed-off-by: Eric Biggers <redacted>
Reviewed-by: Mike Snitzer <redacted>