Lines Matching refs:dcp

157 	dsl_crypto_params_t *dcp = NULL;  in dsl_crypto_params_create_nvlist()  local
163 dcp = kmem_zalloc(sizeof (dsl_crypto_params_t), KM_SLEEP); in dsl_crypto_params_create_nvlist()
164 if (!dcp) { in dsl_crypto_params_create_nvlist()
170 dcp->cp_cmd = cmd; in dsl_crypto_params_create_nvlist()
184 dcp->cp_crypt = crypt; in dsl_crypto_params_create_nvlist()
193 if (dcp->cp_cmd >= DCP_CMD_MAX) { in dsl_crypto_params_create_nvlist()
197 dcp->cp_cmd = cmd; in dsl_crypto_params_create_nvlist()
201 if (dcp->cp_crypt >= ZIO_CRYPT_FUNCTIONS) { in dsl_crypto_params_create_nvlist()
205 dcp->cp_crypt = crypt; in dsl_crypto_params_create_nvlist()
221 dcp->cp_keylocation = spa_strdup(keylocation); in dsl_crypto_params_create_nvlist()
231 if (dcp->cp_crypt == ZIO_CRYPT_ON) in dsl_crypto_params_create_nvlist()
232 dcp->cp_crypt = ZIO_CRYPT_ON_VALUE; in dsl_crypto_params_create_nvlist()
242 dcp->cp_wkey = wkey; in dsl_crypto_params_create_nvlist()
255 *dcp_out = dcp; in dsl_crypto_params_create_nvlist()
262 if (dcp != NULL) in dsl_crypto_params_create_nvlist()
263 kmem_free(dcp, sizeof (dsl_crypto_params_t)); in dsl_crypto_params_create_nvlist()
270 dsl_crypto_params_free(dsl_crypto_params_t *dcp, boolean_t unload) in dsl_crypto_params_free() argument
272 if (dcp == NULL) in dsl_crypto_params_free()
275 if (dcp->cp_keylocation != NULL) in dsl_crypto_params_free()
276 spa_strfree(dcp->cp_keylocation); in dsl_crypto_params_free()
277 if (unload && dcp->cp_wkey != NULL) in dsl_crypto_params_free()
278 dsl_wrapping_key_free(dcp->cp_wkey); in dsl_crypto_params_free()
280 kmem_free(dcp, sizeof (dsl_crypto_params_t)); in dsl_crypto_params_free()
758 spa_keystore_load_wkey(const char *dsname, dsl_crypto_params_t *dcp, in spa_keystore_load_wkey() argument
764 dsl_wrapping_key_t *wkey = dcp->cp_wkey; in spa_keystore_load_wkey()
772 if (dcp->cp_wkey == NULL || in spa_keystore_load_wkey()
773 dcp->cp_cmd != DCP_CMD_NONE || in spa_keystore_load_wkey()
774 dcp->cp_crypt != ZIO_CRYPT_INHERIT || in spa_keystore_load_wkey()
775 dcp->cp_keylocation != NULL) in spa_keystore_load_wkey()
1232 dsl_crypto_params_t *dcp = skcka->skcka_cp; in spa_keystore_change_key_check() local
1242 if (dcp->cp_cmd != DCP_CMD_NEW_KEY && in spa_keystore_change_key_check()
1243 dcp->cp_cmd != DCP_CMD_INHERIT && in spa_keystore_change_key_check()
1244 dcp->cp_cmd != DCP_CMD_FORCE_NEW_KEY && in spa_keystore_change_key_check()
1245 dcp->cp_cmd != DCP_CMD_FORCE_INHERIT) { in spa_keystore_change_key_check()
1273 if (dcp->cp_cmd == DCP_CMD_INHERIT || in spa_keystore_change_key_check()
1274 dcp->cp_cmd == DCP_CMD_FORCE_INHERIT) { in spa_keystore_change_key_check()
1276 if (dcp->cp_crypt != ZIO_CRYPT_INHERIT || in spa_keystore_change_key_check()
1277 dcp->cp_keylocation != NULL || in spa_keystore_change_key_check()
1278 dcp->cp_wkey != NULL) { in spa_keystore_change_key_check()
1296 if (dcp->cp_cmd == DCP_CMD_INHERIT) { in spa_keystore_change_key_check()
1311 if (dcp->cp_cmd == DCP_CMD_FORCE_NEW_KEY) { in spa_keystore_change_key_check()
1313 if (dcp->cp_crypt != ZIO_CRYPT_INHERIT || in spa_keystore_change_key_check()
1314 dcp->cp_keylocation != NULL || in spa_keystore_change_key_check()
1315 dcp->cp_wkey != NULL) { in spa_keystore_change_key_check()
1331 if (dcp->cp_crypt != ZIO_CRYPT_INHERIT) { in spa_keystore_change_key_check()
1337 if (dcp->cp_wkey == NULL) { in spa_keystore_change_key_check()
1343 if (dcp->cp_wkey->wk_keyformat >= ZFS_KEYFORMAT_FORMATS || in spa_keystore_change_key_check()
1344 dcp->cp_wkey->wk_keyformat == ZFS_KEYFORMAT_NONE) { in spa_keystore_change_key_check()
1354 if (dd->dd_object != rddobj && dcp->cp_keylocation == NULL) { in spa_keystore_change_key_check()
1360 if (dcp->cp_keylocation != NULL && in spa_keystore_change_key_check()
1361 !zfs_prop_valid_keylocation(dcp->cp_keylocation, B_TRUE)) { in spa_keystore_change_key_check()
1367 if (dcp->cp_wkey->wk_keyformat == ZFS_KEYFORMAT_PASSPHRASE) { in spa_keystore_change_key_check()
1368 if (dcp->cp_wkey->wk_salt == 0 || in spa_keystore_change_key_check()
1369 dcp->cp_wkey->wk_iters < MIN_PBKDF2_ITERATIONS) { in spa_keystore_change_key_check()
1374 if (dcp->cp_wkey->wk_salt != 0 || dcp->cp_wkey->wk_iters != 0) { in spa_keystore_change_key_check()
1509 dsl_crypto_params_t *dcp = skcka->skcka_cp; in spa_keystore_change_key_sync() local
1512 char *keylocation = dcp->cp_keylocation; in spa_keystore_change_key_sync()
1519 if (dcp->cp_cmd == DCP_CMD_NEW_KEY || in spa_keystore_change_key_sync()
1520 dcp->cp_cmd == DCP_CMD_FORCE_NEW_KEY) { in spa_keystore_change_key_sync()
1527 if (dcp->cp_cmd == DCP_CMD_NEW_KEY) { in spa_keystore_change_key_sync()
1528 wkey = dcp->cp_wkey; in spa_keystore_change_key_sync()
1548 if (dcp->cp_cmd == DCP_CMD_INHERIT) { in spa_keystore_change_key_sync()
1563 ASSERT(dcp->cp_cmd == DCP_CMD_FORCE_INHERIT || in spa_keystore_change_key_sync()
1564 dcp->cp_cmd == DCP_CMD_FORCE_NEW_KEY); in spa_keystore_change_key_sync()
1585 if (dcp->cp_cmd == DCP_CMD_NEW_KEY) { in spa_keystore_change_key_sync()
1598 spa_keystore_change_key(const char *dsname, dsl_crypto_params_t *dcp) in spa_keystore_change_key() argument
1604 skcka.skcka_cp = dcp; in spa_keystore_change_key()
1754 dmu_objset_create_crypt_check(dsl_dir_t *parentdd, dsl_crypto_params_t *dcp, in dmu_objset_create_crypt_check() argument
1764 if (dcp == NULL) in dmu_objset_create_crypt_check()
1765 dcp = &dummy_dcp; in dmu_objset_create_crypt_check()
1767 if (dcp->cp_cmd != DCP_CMD_NONE) in dmu_objset_create_crypt_check()
1778 crypt = (dcp->cp_crypt == ZIO_CRYPT_INHERIT) ? pcrypt : dcp->cp_crypt; in dmu_objset_create_crypt_check()
1786 if (dcp->cp_wkey != NULL || in dmu_objset_create_crypt_check()
1787 (dcp->cp_keylocation != NULL && in dmu_objset_create_crypt_check()
1788 strcmp(dcp->cp_keylocation, "none") != 0)) in dmu_objset_create_crypt_check()
1816 if (dcp->cp_wkey == NULL) { in dmu_objset_create_crypt_check()
1820 if (dcp->cp_keylocation != NULL) in dmu_objset_create_crypt_check()
1836 if (dcp->cp_keylocation == NULL || in dmu_objset_create_crypt_check()
1837 !zfs_prop_valid_keylocation(dcp->cp_keylocation, B_TRUE)) in dmu_objset_create_crypt_check()
1841 switch (dcp->cp_wkey->wk_keyformat) { in dmu_objset_create_crypt_check()
1845 if (dcp->cp_wkey->wk_salt != 0 || in dmu_objset_create_crypt_check()
1846 dcp->cp_wkey->wk_iters != 0) in dmu_objset_create_crypt_check()
1851 if (dcp->cp_wkey->wk_salt == 0 || in dmu_objset_create_crypt_check()
1852 dcp->cp_wkey->wk_iters < MIN_PBKDF2_ITERATIONS) in dmu_objset_create_crypt_check()
1866 dsl_dataset_t *origin, dsl_crypto_params_t *dcp, dmu_tx_t *tx) in dsl_dataset_create_crypt_sync() argument
1874 ASSERT3P(dcp, ==, NULL); in dsl_dataset_create_crypt_sync()
1899 if (dcp == NULL || dcp->cp_cmd == DCP_CMD_RAW_RECV) in dsl_dataset_create_crypt_sync()
1902 crypt = dcp->cp_crypt; in dsl_dataset_create_crypt_sync()
1903 wkey = dcp->cp_wkey; in dsl_dataset_create_crypt_sync()
1940 if (dcp->cp_wkey == NULL) { in dsl_dataset_create_crypt_sync()