linux-stable/fs/ceph
Xiubo Li 641eb2d9ab ceph: switch to corrected encoding of max_xattr_size in mdsmap
[ Upstream commit 51d31149a8 ]

The addition of bal_rank_mask with encoding version 17 was merged
into ceph.git in Oct 2022 and made it into v18.2.0 release normally.
A few months later, the much delayed addition of max_xattr_size got
merged, also with encoding version 17, placed before bal_rank_mask
in the encoding -- but it didn't make v18.2.0 release.

The way this ended up being resolved on the MDS side is that
bal_rank_mask will continue to be encoded in version 17 while
max_xattr_size is now encoded in version 18.  This does mean that
older kernels will misdecode version 17, but this is also true for
v18.2.0 and v18.2.1 clients in userspace.

The best we can do is backport this adjustment -- see ceph.git
commit 78abfeaff27fee343fb664db633de5b221699a73 for details.

[ idryomov: changelog ]

Cc: stable@vger.kernel.org
Link: https://tracker.ceph.com/issues/64440
Fixes: d93231a6bc ("ceph: prevent a client from exceeding the MDS maximum xattr size")
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-15 10:48:13 -04:00
..
acl.c Mixed with some fixes and cleanups, this brings in reasonably complete 2023-09-06 12:10:15 -07:00
addr.c ceph: wait for OSD requests' callbacks to finish when unmounting 2023-08-24 11:24:36 +02:00
cache.c mm, netfs, fscache: stop read optimisation when folio removed from pagecache 2023-08-18 10:12:13 -07:00
cache.h netfs: Further cleanups after struct netfs_inode wrapper introduced 2022-06-10 20:55:21 +01:00
caps.c ceph: prevent use-after-free in encode_cap_msg() 2024-02-23 09:25:16 +01:00
ceph_frag.c
crypto.c ceph: remove unnecessary IS_ERR() check in ceph_fname_to_usr() 2023-10-09 13:35:24 +02:00
crypto.h ceph: add support for encrypted snapshot names 2023-08-24 11:24:36 +02:00
debugfs.c ceph: fix potential use-after-free bug when trimming caps 2023-04-30 12:37:28 +02:00
dir.c ceph: switch ceph_lookup/atomic_open() to use new fscrypt helper 2023-08-24 11:24:37 +02:00
export.c ceph: make ceph_fill_trace and ceph_get_name decrypt names 2023-08-24 11:24:34 +02:00
file.c ceph: fix type promotion bug on 32bit systems 2023-10-09 13:35:24 +02:00
inode.c ceph: fix incorrect revoked caps assert in ceph_fill_file_size() 2023-10-09 13:35:24 +02:00
io.c ceph: fix kerneldoc copypasta over ceph_start_io_direct 2021-04-27 23:52:23 +02:00
io.h
ioctl.c ceph: add some fscrypt guardrails 2023-08-24 11:24:35 +02:00
ioctl.h
Kconfig ceph: select FS_ENCRYPTION_ALGS if FS_ENCRYPTION 2024-01-25 15:35:44 -08:00
locks.c filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05:00
Makefile ceph: fscrypt_auth handling for ceph 2023-08-22 09:01:48 +02:00
mds_client.c ceph: reinitialize mds feature bit even when session in open 2024-02-05 20:14:33 +00:00
mds_client.h ceph: make num_fwd and num_retry to __u32 2023-08-31 14:56:27 +02:00
mdsmap.c ceph: switch to corrected encoding of max_xattr_size in mdsmap 2024-03-15 10:48:13 -04:00
metric.c ceph: never send metrics if disable_send_metrics is set 2023-07-24 13:15:39 +02:00
metric.h ceph: include average/stdev r/w/m latency in mds metrics 2022-03-21 13:35:16 +01:00
quota.c ceph: fix invalid pointer access if get_quota_realm return ERR_PTR 2024-02-05 20:14:33 +00:00
snap.c Mixed with some fixes and cleanups, this brings in reasonably complete 2023-09-06 12:10:15 -07:00
strings.c ceph: add getvxattr op 2022-03-01 18:26:37 +01:00
super.c ceph: wait for OSD requests' callbacks to finish when unmounting 2023-08-24 11:24:36 +02:00
super.h ceph: wait for OSD requests' callbacks to finish when unmounting 2023-08-24 11:24:36 +02:00
util.c
xattr.c Mixed with some fixes and cleanups, this brings in reasonably complete 2023-09-06 12:10:15 -07:00