Merge tag 'v6.19-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:

 - Fix array out of bounds error in copy_file_range

 - Add tracepoint to help debug ioctl failures

* tag 'v6.19-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  smb: client: fix UBSAN array-index-out-of-bounds in smb2_copychunk_range
  smb3 client: add missing tracepoint for unsupported ioctls
This commit is contained in:
Linus Torvalds
2026-01-02 09:14:13 -08:00
3 changed files with 10 additions and 0 deletions

View File

@@ -588,6 +588,9 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
break;
default:
cifs_dbg(FYI, "unsupported ioctl\n");
trace_smb3_unsupported_ioctl(xid,
pSMBFile ? pSMBFile->fid.persistent_fid : 0,
command);
break;
}
cifs_ioc_exit:

View File

@@ -1905,6 +1905,12 @@ smb2_copychunk_range(const unsigned int xid,
src_off_prev = src_off;
dst_off_prev = dst_off;
/*
* __counted_by_le(ChunkCount): set to allocated chunks before
* populating Chunks[]
*/
cc_req->ChunkCount = cpu_to_le32(chunk_count);
chunks = 0;
copy_bytes = 0;
copy_bytes_left = umin(total_bytes_left, tcon->max_bytes_copy);

View File

@@ -1579,6 +1579,7 @@ DEFINE_EVENT(smb3_ioctl_class, smb3_##name, \
TP_ARGS(xid, fid, command))
DEFINE_SMB3_IOCTL_EVENT(ioctl);
DEFINE_SMB3_IOCTL_EVENT(unsupported_ioctl);
DECLARE_EVENT_CLASS(smb3_shutdown_class,
TP_PROTO(__u32 flags,