derive_key
ret = derive_key(zhp->zfs_hdl, keyformat, iters, key_material,
ret = derive_key(hdl, (zfs_keyformat_t)keyformat, iters, key_material,
STRUCT_DECL(crypto_derive_key, derive_key);
STRUCT_INIT(derive_key, mode);
if (copyin(arg, STRUCT_BUF(derive_key), STRUCT_SIZE(derive_key)) != 0) {
session_id = STRUCT_FGET(derive_key, dk_session);
bcopy(STRUCT_FADDR(derive_key, dk_mechanism), &mech.cm_type,
if (!copyin_key(mode, sp, STRUCT_FADDR(derive_key, dk_base_key),
STRUCT_FADDR(derive_key, dk_mechanism), &mech, mode, &error);
STRUCT_FADDR(derive_key, dk_mechanism),
count = STRUCT_FGET(derive_key, dk_count);
attributes = STRUCT_FGETP(derive_key, dk_attributes);
STRUCT_FSET(derive_key, dk_object_handle, handle);
&mech, STRUCT_FADDR(derive_key, dk_mechanism),
STRUCT_FSET(derive_key, dk_return_value, rv);
if (copyout(STRUCT_BUF(derive_key), arg,
STRUCT_SIZE(derive_key)) != 0) {
STRUCT_DECL(crypto_nostore_derive_key, derive_key);
STRUCT_INIT(derive_key, mode);
if (copyin(arg, STRUCT_BUF(derive_key), STRUCT_SIZE(derive_key)) != 0) {
session_id = STRUCT_FGET(derive_key, ndk_session);
bcopy(STRUCT_FADDR(derive_key, ndk_mechanism), &mech.cm_type,
if (!copyin_key(mode, sp, STRUCT_FADDR(derive_key, ndk_base_key),
STRUCT_FADDR(derive_key, ndk_mechanism), &mech, mode, &error);
STRUCT_FADDR(derive_key, ndk_mechanism),
in_count = STRUCT_FGET(derive_key, ndk_in_count);
out_count = STRUCT_FGET(derive_key, ndk_out_count);
in_attributes = STRUCT_FGETP(derive_key, ndk_in_attributes);
out_attributes = STRUCT_FGETP(derive_key, ndk_out_attributes);
&mech, STRUCT_FADDR(derive_key, ndk_mechanism),
STRUCT_FSET(derive_key, ndk_return_value, rv);
if (copyout(STRUCT_BUF(derive_key), arg,
STRUCT_SIZE(derive_key)) != 0) {
rv = derive_key(cdata, constdata, sizeof (constdata),
rv = derive_key(cdata, constdata, sizeof (constdata),