aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ceph/auth.c3
-rw-r--r--fs/ceph/auth_none.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/ceph/auth.c b/fs/ceph/auth.c
index d5872d4..b34ce0e 100644
--- a/fs/ceph/auth.c
+++ b/fs/ceph/auth.c
@@ -107,8 +107,11 @@ int ceph_auth_build_hello(struct ceph_auth_client *ac, void *buf, size_t len)
lenp = p;
p += sizeof(u32);
+ ceph_decode_need(&p, end, 1 + sizeof(u32), bad);
+ ceph_encode_8(&p, 1);
num = ARRAY_SIZE(supported_protocols);
ceph_encode_32(&p, num);
+ ceph_decode_need(&p, end, num * sizeof(u32), bad);
for (i = 0; i < num; i++)
ceph_encode_32(&p, supported_protocols[i]);
diff --git a/fs/ceph/auth_none.c b/fs/ceph/auth_none.c
index 631017e..b4ef6f0 100644
--- a/fs/ceph/auth_none.c
+++ b/fs/ceph/auth_none.c
@@ -62,6 +62,7 @@ static int ceph_auth_none_create_authorizer(
if (!ai->built_authorizer) {
p = au->buf;
end = p + sizeof(au->buf);
+ ceph_encode_8(&p, 1);
ret = ceph_entity_name_encode(ac->name, &p, end - 8);
if (ret < 0)
goto bad;