summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorFrank Sorenson <sorenson@redhat.com>2026-09-16 16:33:57 -0500
committerPaulo Alcantara <pc@manguebit.org>2026-09-17 15:04:07 -0300
commiteeb5ef6083e1cefa2ef75041b5597ff228b8d7bb (patch)
tree3d3c7a7e15646409f9bf8d060ce2ecdaef5850ce /tools/perf/scripts/python
parent1b3221bb121079ad79a1f3c3aa360ba649832e7a (diff)
downloadlinux-next-eeb5ef6083e1cefa2ef75041b5597ff228b8d7bb.tar.gz
linux-next-eeb5ef6083e1cefa2ef75041b5597ff228b8d7bb.zip
smb: client: fix OOB struct field reads in move_smb2_ea_to_cifs()
In move_smb2_ea_to_cifs(), the while (src_size > 0) loop condition is insufficient. It allows iteration to continue even if the remaining src_size is too small to contain a complete smb2_ea_info structure. Consequently, reads of ea_name_length and ea_value_length can occur out-of-bounds. Fix this by ensuring src_size >= sizeof(*src) before attempting to read any structure fields. Additionally, reject any next_entry_offset that is smaller than sizeof(*src) or that would advance the pointer beyond the available buffer. Note that for calls where the server returns a malformed EA list, the error returned to userspace changes from -ENODATA (getxattr) or -ERANGE (listxattr) to -EIO. This correctly signals a server protocol error rather than misleadingly indicating "attribute not present" or "output buffer too small". Fixes: 95907fea4fd8 ("cifs: Add support for reading attributes on SMB2+") Cc: stable@vger.kernel.org Signed-off-by: Frank Sorenson <sorenson@redhat.com> Reviewed-by: David Howells <dhowells@redhat.com> Signed-off-by: Paulo Alcantara <pc@manguebit.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions