Thread (12 messages) 12 messages, 4 authors, 2020-10-05

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

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help