[dm-devel] [PATCH v2 1/3] block: make bio_crypt_clone() able to fail
Mike Snitzer
snitzer at redhat.com
Thu Sep 24 00:56:47 UTC 2020
On Tue, Sep 15 2020 at 11:53pm -0400,
Eric Biggers <ebiggers at kernel.org> wrote:
> From: Eric Biggers <ebiggers at google.com>
>
> 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 at huawei.com>
> Cc: Satya Tangirala <satyat at google.com>
> Signed-off-by: Eric Biggers <ebiggers at google.com>
Reviewed-by: Mike Snitzer <snitzer at redhat.com>
More information about the dm-devel
mailing list