blk-crypto: rename blk_keyslot_manager to blk_crypto_profile
authorEric Biggers <ebiggers@google.com>
Mon, 18 Oct 2021 18:04:52 +0000 (11:04 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 21 Oct 2021 16:49:32 +0000 (10:49 -0600)
commitcb77cb5abe1f4fae4a33b735606aae22f9eaa1c7
tree4798d71e5a1f00f844296b08e62b97264ef6fd27
parent1e8d44bddf57f6d878e083f281a34d5c88feb7db
blk-crypto: rename blk_keyslot_manager to blk_crypto_profile

blk_keyslot_manager is misnamed because it doesn't necessarily manage
keyslots.  It actually does several different things:

  - Contains the crypto capabilities of the device.

  - Provides functions to control the inline encryption hardware.
    Originally these were just for programming/evicting keyslots;
    however, new functionality (hardware-wrapped keys) will require new
    functions here which are unrelated to keyslots.  Moreover,
    device-mapper devices already (ab)use "keyslot_evict" to pass key
    eviction requests to their underlying devices even though
    device-mapper devices don't have any keyslots themselves (so it
    really should be "evict_key", not "keyslot_evict").

  - Sometimes (but not always!) it manages keyslots.  Originally it
    always did, but device-mapper devices don't have keyslots
    themselves, so they use a "passthrough keyslot manager" which
    doesn't actually manage keyslots.  This hack works, but the
    terminology is unnatural.  Also, some hardware doesn't have keyslots
    and thus also uses a "passthrough keyslot manager" (support for such
    hardware is yet to be upstreamed, but it will happen eventually).

Let's stop having keyslot managers which don't actually manage keyslots.
Instead, rename blk_keyslot_manager to blk_crypto_profile.

This is a fairly big change, since for consistency it also has to update
keyslot manager-related function names, variable names, and comments --
not just the actual struct name.  However it's still a fairly
straightforward change, as it doesn't change any actual functionality.

Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For MMC
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Link: https://lore.kernel.org/r/20211018180453.40441-4-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
18 files changed:
block/blk-crypto-fallback.c
block/blk-crypto-profile.c
block/blk-crypto.c
block/blk-integrity.c
drivers/md/dm-core.h
drivers/md/dm-table.c
drivers/md/dm.c
drivers/mmc/core/crypto.c
drivers/mmc/host/cqhci-crypto.c
drivers/scsi/ufs/ufshcd-crypto.c
drivers/scsi/ufs/ufshcd-crypto.h
drivers/scsi/ufs/ufshcd.c
drivers/scsi/ufs/ufshcd.h
include/linux/blk-crypto-profile.h
include/linux/blk-mq.h
include/linux/blkdev.h
include/linux/device-mapper.h
include/linux/mmc/host.h