diff --git a/patches.suse/ceph-force-updating-the-msg-pointer-in-non-split-case.patch b/patches.suse/ceph-force-updating-the-msg-pointer-in-non-split-case.patch new file mode 100644 index 0000000..69f802a --- /dev/null +++ b/patches.suse/ceph-force-updating-the-msg-pointer-in-non-split-case.patch @@ -0,0 +1,48 @@ +From: Xiubo Li +Date: Thu, 18 May 2023 09:47:23 +0800 +Subject: ceph: force updating the msg pointer in non-split case +Git-commit: 4cafd0400bcb6187c0d4ab4d4b0229a89ac4f8c2 +Patch-mainline: v6.4-rc3 +References: bsc#1211804 + +When the MClientSnap reqeust's op is not CEPH_SNAP_OP_SPLIT the +request may still contain a list of 'split_realms', and we need +to skip it anyway. Or it will be parsed as a corrupt snaptrace. + +Cc: stable@vger.kernel.org +Link: https://tracker.ceph.com/issues/61200 +Reported-by: Frank Schilder +Signed-off-by: Xiubo Li +Reviewed-by: Ilya Dryomov +Signed-off-by: Ilya Dryomov +Acked-by: Luís Henriques + +--- + fs/ceph/snap.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c +index 87007203f130..0b236ebd989f 100644 +--- a/fs/ceph/snap.c ++++ b/fs/ceph/snap.c +@@ -1111,6 +1111,19 @@ void ceph_handle_snap(struct ceph_mds_client *mdsc, + continue; + adjust_snap_realm_parent(mdsc, child, realm->ino); + } ++ } else { ++ /* ++ * In the non-split case both 'num_split_inos' and ++ * 'num_split_realms' should be 0, making this a no-op. ++ * However the MDS happens to populate 'split_realms' list ++ * in one of the UPDATE op cases by mistake. ++ * ++ * Skip both lists just in case to ensure that 'p' is ++ * positioned at the start of realm info, as expected by ++ * ceph_update_snap_trace(). ++ */ ++ p += sizeof(u64) * num_split_inos; ++ p += sizeof(u64) * num_split_realms; + } + + /* + diff --git a/series.conf b/series.conf index d1ef8fa..56dc5ff 100644 --- a/series.conf +++ b/series.conf @@ -20154,6 +20154,7 @@ patches.suse/s390-qdio-fix-do_sqbs-inline-assembly-constraint.patch patches.suse/Documentation-filesystems-sharedsubtree-add-section-.patch patches.suse/Documentation-filesystems-ramfs-rootfs-initramfs-use.patch + patches.suse/ceph-force-updating-the-msg-pointer-in-non-split-case.patch patches.suse/drm-exynos-fix-g2d_open-close-helper-function-defini.patch patches.suse/drm-msm-dp-unregister-audio-driver-during-unbind.patch patches.suse/drm-msm-dpu-Move-non-MDP_TOP-INTF_INTR-offsets-out-o.patch