From: Christopher Hoffman Date: Thu, 18 Jan 2024 15:40:53 +0000 (+0000) Subject: Populate add key return X-Git-Tag: testing/wip-vshankar-testing-20260120.085915-debug^2~13^2~123 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=40d6d80fc0b377e7e5992dbc060682f470f8a1e1;p=ceph-ci.git Populate add key return Signed-off-by: Christopher Hoffman --- diff --git a/src/client/FSCrypt.cc b/src/client/FSCrypt.cc index 1bff1bae4de..870b1697061 100644 --- a/src/client/FSCrypt.cc +++ b/src/client/FSCrypt.cc @@ -256,6 +256,7 @@ int fscrypt_calc_hkdf(char hkdf_context, int extract_len = r; +//#define FSCRYPT_INFO_STR "fscrypt\x00\x01" #define FSCRYPT_INFO_STR "fscrypt\x00?" char info_str[sizeof(FSCRYPT_INFO_STR) + nonce_len]; diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc index dfd9796f856..bea60ecdfc4 100644 --- a/src/client/fuse_ll.cc +++ b/src/client/fuse_ll.cc @@ -1013,14 +1013,16 @@ static void fuse_ll_ioctl(fuse_req_t req, fuse_ino_t ino, break; } - int r = cfuse->client->add_fscrypt_key((const char *)arg->raw, arg->raw_size, nullptr, ctx->uid); + ceph_fscrypt_key_identifier kid; + int r = cfuse->client->add_fscrypt_key((const char *)arg->raw, arg->raw_size, &kid, ctx->uid); if (r < 0) { generic_dout(0) << __FILE__ << ":" << __LINE__ << ": failed to create a new key: r=" << r << dendl; fuse_reply_err(req, -r); break; } - fuse_reply_ioctl(req, 0, nullptr, 0); + memcpy(&arg->key_spec.u.identifier, &kid.raw, 16); + fuse_reply_ioctl(req, 0, arg, sizeof(*arg)); break; } break;