• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/module/zfs/

Lines Matching defs:dck

501 dsl_crypto_key_free(dsl_crypto_key_t *dck)
503 ASSERT(zfs_refcount_count(&dck->dck_holds) == 0);
506 zio_crypt_key_destroy(&dck->dck_key);
509 zfs_refcount_destroy(&dck->dck_holds);
510 if (dck->dck_wkey)
511 dsl_wrapping_key_rele(dck->dck_wkey, dck);
514 kmem_free(dck, sizeof (dsl_crypto_key_t));
518 dsl_crypto_key_rele(dsl_crypto_key_t *dck, void *tag)
520 if (zfs_refcount_remove(&dck->dck_holds, tag) == 0)
521 dsl_crypto_key_free(dck);
534 dsl_crypto_key_t *dck;
537 dck = kmem_zalloc(sizeof (dsl_crypto_key_t), KM_SLEEP);
577 raw_keydata, raw_hmac_keydata, iv, mac, &dck->dck_key);
584 zfs_refcount_create(&dck->dck_holds);
585 dsl_wrapping_key_hold(wkey, dck);
586 dck->dck_wkey = wkey;
587 dck->dck_obj = dckobj;
588 zfs_refcount_add(&dck->dck_holds, tag);
590 *dck_out = dck;
594 if (dck != NULL) {
595 bzero(dck, sizeof (dsl_crypto_key_t));
596 kmem_free(dck, sizeof (dsl_crypto_key_t));
693 spa_keystore_dsl_key_rele(spa_t *spa, dsl_crypto_key_t *dck, void *tag)
697 if (zfs_refcount_remove(&dck->dck_holds, tag) == 0) {
698 avl_remove(&spa->spa_keystore.sk_dsl_keys, dck);
699 dsl_crypto_key_free(dck);
737 dsl_crypto_key_t *dck = NULL;
780 dd->dd_crypto_obj, FTAG, &dck);
824 dsl_crypto_key_rele(dck, FTAG);
834 if (dck != NULL)
835 dsl_crypto_key_rele(dck, FTAG);
1193 dsl_crypto_key_sync(dsl_crypto_key_t *dck, dmu_tx_t *tx)
1195 zio_crypt_key_t *key = &dck->dck_key;
1196 dsl_wrapping_key_t *wkey = dck->dck_wkey;
1206 VERIFY0(zio_crypt_key_wrap(&dck->dck_wkey->wk_key, key, iv, mac,
1210 dsl_crypto_key_sync_impl(tx->tx_pool->dp_meta_objset, dck->dck_obj,
1411 dsl_crypto_key_t *dck = NULL;
1439 * If we don't have a wrapping key just update the dck to reflect the
1440 * new encryption root. Otherwise rewrap the entire dck and re-sync it
1451 FTAG, &dck));
1452 dsl_wrapping_key_hold(wkey, dck);
1453 dsl_wrapping_key_rele(dck->dck_wkey, dck);
1454 dck->dck_wkey = wkey;
1455 dsl_crypto_key_sync(dck, tx);
1456 spa_keystore_dsl_key_rele(dp->dp_spa, dck, FTAG);
1476 * is because the clone and its origin share the same dck, which has
1879 * dck into dd. Zapify the dd so we can do that.
2535 dsl_crypto_key_t dck;
2544 dck.dck_obj = zap_create(tx->tx_pool->dp_meta_objset,
2548 dck.dck_wkey = wkey;
2549 VERIFY0(zio_crypt_key_init(crypt, &dck.dck_key));
2551 dsl_crypto_key_sync(&dck, tx);
2552 VERIFY0(zap_update(tx->tx_pool->dp_meta_objset, dck.dck_obj,
2554 VERIFY0(zap_update(tx->tx_pool->dp_meta_objset, dck.dck_obj,
2557 zio_crypt_key_destroy(&dck.dck_key);
2558 bzero(&dck.dck_key, sizeof (zio_crypt_key_t));
2560 return (dck.dck_obj);
2646 dsl_crypto_key_t *dck = NULL;
2649 ret = spa_keystore_lookup_key(spa, dsobj, FTAG, &dck);
2653 ret = zio_crypt_key_get_salt(&dck->dck_key, salt);
2657 spa_keystore_dsl_key_rele(spa, dck, FTAG);
2661 if (dck != NULL)
2662 spa_keystore_dsl_key_rele(spa, dck, FTAG);
2677 dsl_crypto_key_t *dck = NULL;
2684 ret = spa_keystore_lookup_key(spa, dsobj, FTAG, &dck);
2689 ret = zio_crypt_do_objset_hmacs(&dck->dck_key, buf, datalen,
2694 spa_keystore_dsl_key_rele(spa, dck, FTAG);
2715 if (dck != NULL)
2716 spa_keystore_dsl_key_rele(spa, dck, FTAG);
2726 dsl_crypto_key_t *dck = NULL;
2731 ret = spa_keystore_lookup_key(spa, dsobj, FTAG, &dck);
2736 ret = zio_crypt_do_hmac(&dck->dck_key, buf, datalen,
2742 spa_keystore_dsl_key_rele(spa, dck, FTAG);
2759 if (dck != NULL)
2760 spa_keystore_dsl_key_rele(spa, dck, FTAG);
2778 dsl_crypto_key_t *dck = NULL;
2784 ret = spa_keystore_lookup_key(spa, zb->zb_objset, FTAG, &dck);
2808 ret = zio_crypt_key_get_salt(&dck->dck_key, salt);
2816 ret = zio_crypt_generate_iv_salt_dedup(&dck->dck_key,
2823 ret = zio_do_crypt_data(encrypt, &dck->dck_key, ot, bswap, salt, iv,
2845 spa_keystore_dsl_key_rele(spa, dck, FTAG);
2862 spa_keystore_dsl_key_rele(spa, dck, FTAG);