mbox series

[v2,0/4] Fix blk-crypto keyslot race condition

Message ID 20230308193645.114069-1-ebiggers@kernel.org (mailing list archive)
Headers show
Series Fix blk-crypto keyslot race condition | expand

Message

Eric Biggers March 8, 2023, 7:36 p.m. UTC
This series fixes a race condition in blk-crypto keyslot management and
makes some related cleanups.  It replaces
"[PATCH] blk-crypto: make blk_crypto_evict_key() always try to evict"
(https://lore.kernel.org/r/20230226203816.207449-1-ebiggers@kernel.org),
which was a simpler fix but didn't fix the keyslot reference counting to
work as expected.

Changed in v2:
  - Call blk_crypto_rq_put_keyslot() when requests are merged
  - Add and use blk_crypto_rq_has_keyslot()
  - Add patch "blk-crypto: drop the NULL check from blk_crypto_put_keyslot()"

Eric Biggers (4):
  blk-mq: release crypto keyslot before reporting I/O complete
  blk-crypto: make blk_crypto_evict_key() more robust
  blk-crypto: remove blk_crypto_insert_cloned_request()
  blk-crypto: drop the NULL check from blk_crypto_put_keyslot()

 Documentation/block/inline-encryption.rst |  3 +-
 block/blk-crypto-internal.h               | 38 +++++++-------
 block/blk-crypto-profile.c                | 64 ++++++++---------------
 block/blk-crypto.c                        | 47 +++++++++--------
 block/blk-merge.c                         |  2 +
 block/blk-mq.c                            | 17 +++++-
 6 files changed, 87 insertions(+), 84 deletions(-)


base-commit: 63355b9884b3d1677de6bd1517cd2b8a9bf53978