/Linux-v5.15/block/ |
D | keyslot-manager.c | 44 struct blk_keyslot_manager *ksm; member 47 static inline void blk_ksm_hw_enter(struct blk_keyslot_manager *ksm) in blk_ksm_hw_enter() argument 54 if (ksm->dev) in blk_ksm_hw_enter() 55 pm_runtime_get_sync(ksm->dev); in blk_ksm_hw_enter() 56 down_write(&ksm->lock); in blk_ksm_hw_enter() 59 static inline void blk_ksm_hw_exit(struct blk_keyslot_manager *ksm) in blk_ksm_hw_exit() argument 61 up_write(&ksm->lock); in blk_ksm_hw_exit() 62 if (ksm->dev) in blk_ksm_hw_exit() 63 pm_runtime_put_sync(ksm->dev); in blk_ksm_hw_exit() 66 static inline bool blk_ksm_is_passthrough(struct blk_keyslot_manager *ksm) in blk_ksm_is_passthrough() argument [all …]
|
D | blk-crypto.c | 221 return blk_ksm_get_slot_for_key(rq->q->ksm, rq->crypt_ctx->bc_key, in __blk_crypto_init_request() 283 if (blk_ksm_crypto_cfg_supported(bio->bi_bdev->bd_disk->queue->ksm, in __blk_crypto_bio_prep() 360 blk_ksm_crypto_cfg_supported(q->ksm, cfg); in blk_crypto_config_supported() 381 if (blk_ksm_crypto_cfg_supported(q->ksm, &key->crypto_cfg)) in blk_crypto_start_using_key() 402 if (blk_ksm_crypto_cfg_supported(q->ksm, &key->crypto_cfg)) in blk_crypto_evict_key() 403 return blk_ksm_evict_key(q->ksm, key); in blk_crypto_evict_key()
|
D | blk-crypto-fallback.c | 106 static int blk_crypto_keyslot_program(struct blk_keyslot_manager *ksm, in blk_crypto_keyslot_program() argument 129 static int blk_crypto_keyslot_evict(struct blk_keyslot_manager *ksm, in blk_crypto_keyslot_evict() argument
|
D | blk-integrity.c | 412 if (disk->queue->ksm) { in blk_integrity_register()
|
/Linux-v5.15/Documentation/ABI/testing/ |
D | sysfs-kernel-mm-ksm | 1 What: /sys/kernel/mm/ksm 7 What: /sys/kernel/mm/ksm/full_scans 8 What: /sys/kernel/mm/ksm/pages_shared 9 What: /sys/kernel/mm/ksm/pages_sharing 10 What: /sys/kernel/mm/ksm/pages_to_scan 11 What: /sys/kernel/mm/ksm/pages_unshared 12 What: /sys/kernel/mm/ksm/pages_volatile 13 What: /sys/kernel/mm/ksm/run 14 What: /sys/kernel/mm/ksm/sleep_millisecs 36 run: write 0 to disable ksm, read 0 while ksm is disabled. [all …]
|
/Linux-v5.15/include/linux/ |
D | keyslot-manager.h | 28 int (*keyslot_program)(struct blk_keyslot_manager *ksm, 31 int (*keyslot_evict)(struct blk_keyslot_manager *ksm, 86 int blk_ksm_init(struct blk_keyslot_manager *ksm, unsigned int num_slots); 88 int devm_blk_ksm_init(struct device *dev, struct blk_keyslot_manager *ksm, 91 blk_status_t blk_ksm_get_slot_for_key(struct blk_keyslot_manager *ksm, 99 bool blk_ksm_crypto_cfg_supported(struct blk_keyslot_manager *ksm, 102 int blk_ksm_evict_key(struct blk_keyslot_manager *ksm, 105 void blk_ksm_reprogram_all_keys(struct blk_keyslot_manager *ksm); 107 void blk_ksm_destroy(struct blk_keyslot_manager *ksm); 112 void blk_ksm_init_passthrough(struct blk_keyslot_manager *ksm);
|
D | blkdev.h | 448 struct blk_keyslot_manager *ksm; member 1816 bool blk_ksm_register(struct blk_keyslot_manager *ksm, struct request_queue *q); 1822 static inline bool blk_ksm_register(struct blk_keyslot_manager *ksm, in blk_ksm_register() argument
|
D | device-mapper.h | 581 void dm_destroy_keyslot_manager(struct blk_keyslot_manager *ksm);
|
/Linux-v5.15/drivers/mmc/host/ |
D | cqhci-crypto.c | 26 cqhci_host_from_ksm(struct blk_keyslot_manager *ksm) in cqhci_host_from_ksm() argument 28 struct mmc_host *mmc = container_of(ksm, struct mmc_host, ksm); in cqhci_host_from_ksm() 60 static int cqhci_crypto_keyslot_program(struct blk_keyslot_manager *ksm, in cqhci_crypto_keyslot_program() argument 65 struct cqhci_host *cq_host = cqhci_host_from_ksm(ksm); in cqhci_crypto_keyslot_program() 118 static int cqhci_crypto_keyslot_evict(struct blk_keyslot_manager *ksm, in cqhci_crypto_keyslot_evict() argument 122 struct cqhci_host *cq_host = cqhci_host_from_ksm(ksm); in cqhci_crypto_keyslot_evict() 171 struct blk_keyslot_manager *ksm = &mmc->ksm; in cqhci_crypto_init() local 202 err = devm_blk_ksm_init(dev, ksm, num_keyslots); in cqhci_crypto_init() 206 ksm->ksm_ll_ops = cqhci_ksm_ops; in cqhci_crypto_init() 207 ksm->dev = dev; in cqhci_crypto_init() [all …]
|
/Linux-v5.15/drivers/scsi/ufs/ |
D | ufshcd-crypto.c | 51 static int ufshcd_crypto_keyslot_program(struct blk_keyslot_manager *ksm, in ufshcd_crypto_keyslot_program() argument 55 struct ufs_hba *hba = container_of(ksm, struct ufs_hba, ksm); in ufshcd_crypto_keyslot_program() 108 static int ufshcd_crypto_keyslot_evict(struct blk_keyslot_manager *ksm, in ufshcd_crypto_keyslot_evict() argument 112 struct ufs_hba *hba = container_of(ksm, struct ufs_hba, ksm); in ufshcd_crypto_keyslot_evict() 123 blk_ksm_reprogram_all_keys(&hba->ksm); in ufshcd_crypto_enable() 182 err = devm_blk_ksm_init(hba->dev, &hba->ksm, in ufshcd_hba_init_crypto_capabilities() 187 hba->ksm.ksm_ll_ops = ufshcd_ksm_ops; in ufshcd_hba_init_crypto_capabilities() 189 hba->ksm.max_dun_bytes_supported = 8; in ufshcd_hba_init_crypto_capabilities() 190 hba->ksm.dev = hba->dev; in ufshcd_hba_init_crypto_capabilities() 205 hba->ksm.crypto_modes_supported[blk_mode_num] |= in ufshcd_hba_init_crypto_capabilities() [all …]
|
D | ufshcd.h | 914 struct blk_keyslot_manager ksm; member
|
/Linux-v5.15/drivers/md/ |
D | dm-table.c | 1190 struct blk_keyslot_manager ksm; member 1216 static int dm_keyslot_evict(struct blk_keyslot_manager *ksm, in dm_keyslot_evict() argument 1219 struct dm_keyslot_manager *dksm = container_of(ksm, in dm_keyslot_evict() 1221 ksm); in dm_keyslot_evict() 1251 struct blk_keyslot_manager *child = bdev_get_queue(dev->bdev)->ksm; in device_intersect_crypto_modes() 1257 void dm_destroy_keyslot_manager(struct blk_keyslot_manager *ksm) in dm_destroy_keyslot_manager() argument 1259 struct dm_keyslot_manager *dksm = container_of(ksm, in dm_destroy_keyslot_manager() 1261 ksm); in dm_destroy_keyslot_manager() 1263 if (!ksm) in dm_destroy_keyslot_manager() 1266 blk_ksm_destroy(ksm); in dm_destroy_keyslot_manager() [all …]
|
D | dm-core.h | 203 struct blk_keyslot_manager *ksm; member
|
D | dm.c | 1676 dm_destroy_keyslot_manager(q->ksm); in dm_queue_destroy_keyslot_manager()
|
/Linux-v5.15/drivers/mmc/core/ |
D | crypto.c | 19 blk_ksm_reprogram_all_keys(&host->ksm); in mmc_crypto_set_initial_state() 25 blk_ksm_register(&host->ksm, q); in mmc_crypto_setup_queue()
|
/Linux-v5.15/Documentation/admin-guide/mm/ |
D | ksm.rst | 11 added to the Linux kernel in 2.6.32. See ``mm/ksm.c`` for its implementation, 78 The KSM daemon is controlled by sysfs files in ``/sys/kernel/mm/ksm/``, 83 e.g. ``echo 100 > /sys/kernel/mm/ksm/pages_to_scan``. 89 e.g. ``echo 20 > /sys/kernel/mm/ksm/sleep_millisecs`` 95 When set to 0, ksm merges only pages which physically reside 104 when there are no ksm shared pages in the system: set run 2 to 112 * set to 1 to run ksmd e.g. ``echo 1 > /sys/kernel/mm/ksm/run``, 160 The effectiveness of KSM and MADV_MERGEABLE is shown in ``/sys/kernel/mm/ksm/``:
|
D | index.rst | 33 ksm
|
/Linux-v5.15/Documentation/vm/ |
D | ksm.rst | 8 added to the Linux kernel in 2.6.32. See ``mm/ksm.c`` for its implementation, 11 The userspace interface of KSM is described in :ref:`Documentation/admin-guide/mm/ksm.rst <admin_gu… 19 .. kernel-doc:: mm/ksm.c 82 .. kernel-doc:: mm/ksm.c
|
D | index.rst | 42 ksm
|
/Linux-v5.15/mm/ |
D | Makefile | 84 obj-$(CONFIG_KSM) += ksm.o
|
D | Kconfig | 301 See Documentation/vm/ksm.rst for more information: KSM is inactive 303 root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set).
|
/Linux-v5.15/include/linux/mmc/ |
D | host.h | 495 struct blk_keyslot_manager ksm; member
|
/Linux-v5.15/Documentation/block/ |
D | inline-encryption.rst | 198 field in the ksm to point to the `struct device` for the KSM to use for runtime
|