On Tue, Dec 31, 2019 at 11:55:45AM -0600, Eric Biggers wrote:
> From: Eric Biggers <ebigg...@google.com>
> 
> When initializing an fs-verity hash algorithm, also initialize a mempool
> that contains a single preallocated hash request object.  Then replace
> the direct calls to ahash_request_alloc() and ahash_request_free() with
> allocating and freeing from this mempool.
> 
> This eliminates the possibility of the allocation failing, which is
> desirable for the I/O path.
> 
> This doesn't cause deadlocks because there's no case where multiple hash
> requests are needed at a time to make forward progress.
> 
> Signed-off-by: Eric Biggers <ebigg...@google.com>
> ---
>  fs/verity/enable.c           |  8 +--
>  fs/verity/fsverity_private.h | 16 ++++--
>  fs/verity/hash_algs.c        | 98 +++++++++++++++++++++++++++---------
>  fs/verity/open.c             |  4 +-
>  fs/verity/verify.c           | 17 +++----
>  5 files changed, 97 insertions(+), 46 deletions(-)
> 

Applied to fscrypt.git#fsverity for 5.6.

- Eric


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to