From fb782d4512be1ea130a5953f6067901a939e467d Mon Sep 17 00:00:00 2001 From: Xiubo Li Date: Fri, 26 Mar 2021 15:57:47 +0800 Subject: [PATCH] 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 --- src/include/cephfs/metrics/Types.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/include/cephfs/metrics/Types.h b/src/include/cephfs/metrics/Types.h index 3f2b642fdb3..5843a1ed0fb 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 { -- 2.39.5