/linux/include/linux/ |
H A D | blk-crypto-profile.h | 12 struct blk_crypto_profile; 37 int (*keyslot_program)(struct blk_crypto_profile *profile, 57 int (*keyslot_evict)(struct blk_crypto_profile *profile, 71 int (*derive_sw_secret)(struct blk_crypto_profile *profile, 85 int (*import_key)(struct blk_crypto_profile *profile, 99 int (*generate_key)(struct blk_crypto_profile *profile, 113 int (*prepare_key)(struct blk_crypto_profile *profile, 126 struct blk_crypto_profile { struct 195 int blk_crypto_profile_init(struct blk_crypto_profile *profile, argument 199 struct blk_crypto_profile *profile, [all …]
|
H A D | blkdev.h | 43 struct blk_crypto_profile; 547 struct blk_crypto_profile *crypto_profile; 1630 bool blk_crypto_register(struct blk_crypto_profile *profile, 1635 static inline bool blk_crypto_register(struct blk_crypto_profile *profile, in blk_crypto_register()
|
H A D | device-mapper.h | 644 void dm_destroy_crypto_profile(struct blk_crypto_profile *profile);
|
/linux/block/ |
H A D | blk-crypto-profile.c | 42 struct blk_crypto_profile *profile; 45 static inline void blk_crypto_hw_enter(struct blk_crypto_profile *profile) in blk_crypto_hw_enter() 57 static inline void blk_crypto_hw_exit(struct blk_crypto_profile *profile) in blk_crypto_hw_exit() 74 int blk_crypto_profile_init(struct blk_crypto_profile *profile, in blk_crypto_profile_init() 156 struct blk_crypto_profile *profile, in devm_blk_crypto_profile_init() 171 blk_crypto_hash_bucket_for_key(struct blk_crypto_profile *profile, in blk_crypto_hash_bucket_for_key() 181 struct blk_crypto_profile *profile = slot->profile; in blk_crypto_remove_slot_from_lru_list() 190 blk_crypto_find_keyslot(struct blk_crypto_profile *profile, in blk_crypto_find_keyslot() 205 blk_crypto_find_and_grab_keyslot(struct blk_crypto_profile *profile, in blk_crypto_find_and_grab_keyslot() 248 blk_status_t blk_crypto_get_keyslot(struct blk_crypto_profile *profile, in blk_crypto_get_keyslot() [all …]
|
H A D | blk-crypto-sysfs.c | 15 struct blk_crypto_profile *profile; 20 ssize_t (*show)(struct blk_crypto_profile *profile, 24 static struct blk_crypto_profile *kobj_to_crypto_profile(struct kobject *kobj) in kobj_to_crypto_profile() 34 static ssize_t hw_wrapped_keys_show(struct blk_crypto_profile *profile, in hw_wrapped_keys_show() 41 static ssize_t max_dun_bits_show(struct blk_crypto_profile *profile, in max_dun_bits_show() 47 static ssize_t num_keyslots_show(struct blk_crypto_profile *profile, in num_keyslots_show() 53 static ssize_t raw_keys_show(struct blk_crypto_profile *profile, in raw_keys_show() 71 struct blk_crypto_profile *profile = kobj_to_crypto_profile(kobj); in blk_crypto_is_visible() 107 struct blk_crypto_profile *profile = kobj_to_crypto_profile(kobj); in blk_crypto_mode_is_visible() 116 static ssize_t blk_crypto_mode_show(struct blk_crypto_profile *profile, in blk_crypto_mode_show() [all …]
|
H A D | blk-crypto-internal.h | 74 blk_status_t blk_crypto_get_keyslot(struct blk_crypto_profile *profile, 80 int __blk_crypto_evict_key(struct blk_crypto_profile *profile, 83 bool __blk_crypto_cfg_supported(struct blk_crypto_profile *profile,
|
H A D | blk-crypto.c | 473 static int blk_crypto_ioctl_import_key(struct blk_crypto_profile *profile, in blk_crypto_ioctl_import_key() 517 static int blk_crypto_ioctl_generate_key(struct blk_crypto_profile *profile, in blk_crypto_ioctl_generate_key() 551 static int blk_crypto_ioctl_prepare_key(struct blk_crypto_profile *profile, in blk_crypto_ioctl_prepare_key() 598 struct blk_crypto_profile *profile = in blk_crypto_ioctl()
|
/linux/drivers/mmc/host/ |
H A D | cqhci-crypto.c | 26 cqhci_host_from_crypto_profile(struct blk_crypto_profile *profile) in cqhci_host_from_crypto_profile() 54 static int cqhci_crypto_keyslot_program(struct blk_crypto_profile *profile, in cqhci_crypto_keyslot_program() 112 static int cqhci_crypto_keyslot_evict(struct blk_crypto_profile *profile, in cqhci_crypto_keyslot_evict() 165 struct blk_crypto_profile *profile = &mmc->crypto_profile; in cqhci_crypto_init()
|
H A D | sdhci-msm.c | 1879 struct blk_crypto_profile *profile = &mmc->crypto_profile; in sdhci_msm_ice_init() 1963 sdhci_msm_host_from_crypto_profile(struct blk_crypto_profile *profile) in sdhci_msm_host_from_crypto_profile() 1977 static int sdhci_msm_ice_keyslot_program(struct blk_crypto_profile *profile, in sdhci_msm_ice_keyslot_program() 1987 static int sdhci_msm_ice_keyslot_evict(struct blk_crypto_profile *profile, in sdhci_msm_ice_keyslot_evict()
|
/linux/drivers/md/ |
H A D | dm-table.c | 1156 struct blk_crypto_profile profile; 1173 static int dm_keyslot_evict(struct blk_crypto_profile *profile, in dm_keyslot_evict() 1236 struct blk_crypto_profile *profile = in dm_wrappedkey_op_callback() 1274 static int dm_exec_wrappedkey_op(struct blk_crypto_profile *profile, in dm_exec_wrappedkey_op() 1312 static int dm_derive_sw_secret(struct blk_crypto_profile *profile, in dm_derive_sw_secret() 1327 static int dm_import_key(struct blk_crypto_profile *profile, in dm_import_key() 1342 static int dm_generate_key(struct blk_crypto_profile *profile, in dm_generate_key() 1354 static int dm_prepare_key(struct blk_crypto_profile *profile, in dm_prepare_key() 1373 struct blk_crypto_profile *parent = data; in device_intersect_crypto_capabilities() 1374 struct blk_crypto_profile *child = in device_intersect_crypto_capabilities() [all …]
|
H A D | dm-core.h | 227 struct blk_crypto_profile *crypto_profile;
|
/linux/drivers/ufs/core/ |
H A D | ufshcd-crypto.c | 43 static int ufshcd_crypto_keyslot_program(struct blk_crypto_profile *profile, in ufshcd_crypto_keyslot_program() 88 static int ufshcd_crypto_keyslot_evict(struct blk_crypto_profile *profile, in ufshcd_crypto_keyslot_evict()
|
/linux/Documentation/block/ |
H A D | inline-encryption.rst | 94 We also introduce ``struct blk_crypto_profile`` to contain all generic inline 96 blk_crypto_profile serves as the way that drivers for inline encryption hardware 99 wants to support inline encryption will construct a blk_crypto_profile, then 102 The blk_crypto_profile also manages the hardware's keyslots, when applicable. 107 Specifically, for each keyslot, the block layer (via the blk_crypto_profile) 166 blk-crypto-fallback also defines its own blk_crypto_profile and has its own 232 blk_crypto_profile in the request_queue of its device. To do this, it first 237 blk_crypto_profile, e.g. ``modes_supported`` and ``max_dun_bytes_supported``. 240 blk_crypto_profile to tell upper layers how to control the inline encryption 245 Once the driver registers a blk_crypto_profile with a request_queue, I/O [all …]
|
/linux/drivers/ufs/host/ |
H A D | ufs-qcom.c | 167 struct blk_crypto_profile *profile = &hba->crypto_profile; in ufs_qcom_ice_init() 237 static int ufs_qcom_ice_keyslot_program(struct blk_crypto_profile *profile, in ufs_qcom_ice_keyslot_program() 251 static int ufs_qcom_ice_keyslot_evict(struct blk_crypto_profile *profile, in ufs_qcom_ice_keyslot_evict() 265 static int ufs_qcom_ice_derive_sw_secret(struct blk_crypto_profile *profile, in ufs_qcom_ice_derive_sw_secret() 276 static int ufs_qcom_ice_import_key(struct blk_crypto_profile *profile, in ufs_qcom_ice_import_key() 286 static int ufs_qcom_ice_generate_key(struct blk_crypto_profile *profile, in ufs_qcom_ice_generate_key() 295 static int ufs_qcom_ice_prepare_key(struct blk_crypto_profile *profile, in ufs_qcom_ice_prepare_key()
|
/linux/include/ufs/ |
H A D | ufshcd.h | 665 * enabled, the standard code won't initialize the blk_crypto_profile; 1110 struct blk_crypto_profile crypto_profile; 1221 ufs_hba_from_crypto_profile(struct blk_crypto_profile *profile) in ufs_hba_from_crypto_profile()
|