diff options
| author | sung byeongchan <tjdqudcks0424@naver.com> | 2026-10-08 15:07:38 +0900 |
|---|---|---|
| committer | Ilya Dryomov <idryomov@gmail.com> | 2026-10-26 14:15:48 +0100 |
| commit | 166375898d29fea050a9abec855da6075050d5c9 (patch) | |
| tree | 79686d77646f2482ced29ddfcc6bd25ec0620a30 /tools/lib/python/kdoc/python_version.py | |
| parent | 8cab7e7461f81ea1e0fd45082b50bb3c04c0bb10 (diff) | |
ceph: validate encoded xattr name lengths
__build_xattrs() advances over an MDS-provided name length before checking
that the name remains in the encoded xattr blob. On 32-bit clients,
UINT_MAX wraps the cursor and is stored as a negative internal name
length. A later ordinary listxattr() converts it back to a UINT_MAX memcpy
size and corrupts kernel memory.
Check the name range before advancing and reject name, value, or aggregate
sizes that overflow the signed internal accounting.
The malformed blob corrupted kernel state in two baseline boots. It was
rejected cleanly twice with this change, while normal and length-only
controls remained safe.
Cc: stable@vger.kernel.org
Fixes: 355da1eb7a1f ("ceph: inode operations")
Assisted-by: LLM
Signed-off-by: sung byeongchan <tjdqudcks0424@naver.com>
Reviewed-by: Alex Markuze <amarkuze@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions
