Lines Matching refs:ksm
1220 struct blk_keyslot_manager ksm; member
1246 static int dm_keyslot_evict(struct blk_keyslot_manager *ksm, in dm_keyslot_evict() argument
1249 struct dm_keyslot_manager *dksm = container_of(ksm, in dm_keyslot_evict()
1251 ksm); in dm_keyslot_evict()
1290 if (!q->ksm) { in dm_derive_raw_secret_callback()
1295 args->err = blk_ksm_derive_raw_secret(q->ksm, args->wrapped_key, in dm_derive_raw_secret_callback()
1308 static int dm_derive_raw_secret(struct blk_keyslot_manager *ksm, in dm_derive_raw_secret() argument
1313 struct dm_keyslot_manager *dksm = container_of(ksm, in dm_derive_raw_secret()
1315 ksm); in dm_derive_raw_secret()
1356 struct blk_keyslot_manager *child = bdev_get_queue(dev->bdev)->ksm; in device_intersect_crypto_modes()
1362 void dm_destroy_keyslot_manager(struct blk_keyslot_manager *ksm) in dm_destroy_keyslot_manager() argument
1364 struct dm_keyslot_manager *dksm = container_of(ksm, in dm_destroy_keyslot_manager()
1366 ksm); in dm_destroy_keyslot_manager()
1368 if (!ksm) in dm_destroy_keyslot_manager()
1371 blk_ksm_destroy(ksm); in dm_destroy_keyslot_manager()
1377 dm_destroy_keyslot_manager(t->ksm); in dm_table_destroy_keyslot_manager()
1378 t->ksm = NULL; in dm_table_destroy_keyslot_manager()
1395 struct blk_keyslot_manager *ksm; in dm_table_construct_keyslot_manager() local
1405 ksm = &dksm->ksm; in dm_table_construct_keyslot_manager()
1406 blk_ksm_init_passthrough(ksm); in dm_table_construct_keyslot_manager()
1407 ksm->ksm_ll_ops = dm_ksm_ll_ops; in dm_table_construct_keyslot_manager()
1408 ksm->max_dun_bytes_supported = UINT_MAX; in dm_table_construct_keyslot_manager()
1409 memset(ksm->crypto_modes_supported, 0xFF, in dm_table_construct_keyslot_manager()
1410 sizeof(ksm->crypto_modes_supported)); in dm_table_construct_keyslot_manager()
1411 ksm->features = BLK_CRYPTO_FEATURE_STANDARD_KEYS | in dm_table_construct_keyslot_manager()
1418 blk_ksm_intersect_modes(ksm, NULL); in dm_table_construct_keyslot_manager()
1424 ksm); in dm_table_construct_keyslot_manager()
1427 if (t->md->queue && !blk_ksm_is_superset(ksm, t->md->queue->ksm)) { in dm_table_construct_keyslot_manager()
1429 dm_destroy_keyslot_manager(ksm); in dm_table_construct_keyslot_manager()
1438 for (i = 0; i < ARRAY_SIZE(ksm->crypto_modes_supported); i++) { in dm_table_construct_keyslot_manager()
1439 if (ksm->crypto_modes_supported[i]) { in dm_table_construct_keyslot_manager()
1446 dm_destroy_keyslot_manager(ksm); in dm_table_construct_keyslot_manager()
1447 ksm = NULL; in dm_table_construct_keyslot_manager()
1455 t->ksm = ksm; in dm_table_construct_keyslot_manager()
1463 if (!t->ksm) in dm_update_keyslot_manager()
1467 if (!q->ksm) { in dm_update_keyslot_manager()
1468 blk_ksm_register(t->ksm, q); in dm_update_keyslot_manager()
1470 blk_ksm_update_capabilities(q->ksm, t->ksm); in dm_update_keyslot_manager()
1471 dm_destroy_keyslot_manager(t->ksm); in dm_update_keyslot_manager()
1473 t->ksm = NULL; in dm_update_keyslot_manager()
1483 void dm_destroy_keyslot_manager(struct blk_keyslot_manager *ksm) in dm_destroy_keyslot_manager() argument