if (IS_ERR(op_data))
RETURN(PTR_ERR(op_data));
- if (IS_ENCRYPTED(parent) ||
- unlikely(llcrypt_dummy_context_enabled(parent))) {
+ if (ll_sbi_has_encrypt(sbi) &&
+ (IS_ENCRYPTED(parent) ||
+ unlikely(llcrypt_dummy_context_enabled(parent)))) {
err = llcrypt_get_encryption_info(parent);
if (err)
GOTO(out_op_data, err);
GOTO(out_op_data, err);
}
+ if (encrypt) {
+ err = llcrypt_inherit_context(parent, NULL, op_data, false);
+ if (err)
+ GOTO(out_op_data, err);
+ }
+
op_data->op_cli_flags |= CLI_SET_MEA;
err = md_create(sbi->ll_md_exp, op_data, lump, len, mode,
from_kuid(&init_user_ns, current_fsuid()),
GOTO(out_inode, err);
if (encrypt) {
- err = llcrypt_inherit_context(parent, inode, NULL, false);
+ err = ll_set_encflags(inode, op_data->op_file_encctx,
+ op_data->op_file_encctx_size, false);
if (err)
GOTO(out_inode, err);
}