From: Xiubo Li Date: Fri, 26 Mar 2021 07:57:47 +0000 (+0800) Subject: mds: skip the buffer in UnknownPayload::decode() X-Git-Tag: v17.1.0~2325^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fb782d4512be1ea130a5953f6067901a939e467d;p=ceph.git mds: skip the buffer in UnknownPayload::decode() If it receiving an unknown type of metric, it should skip the buffer when dropping it. Or it will cause corruption. Fixes: https://tracker.ceph.com/issues/49972 Signed-off-by: Xiubo Li --- diff --git a/src/include/cephfs/metrics/Types.h b/src/include/cephfs/metrics/Types.h index 3f2b642fdb3d..5843a1ed0fb7 100644 --- a/src/include/cephfs/metrics/Types.h +++ b/src/include/cephfs/metrics/Types.h @@ -367,6 +367,10 @@ struct UnknownPayload { } void decode(bufferlist::const_iterator &iter) { + using ceph::decode; + DECODE_START(254, iter); + iter.seek(struct_len); + DECODE_FINISH(iter); } void dump(Formatter *f) const {