summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@manguebit.org>2026-10-11 17:08:52 -0300
committerPaulo Alcantara <pc@manguebit.org>2026-10-13 00:52:20 -0300
commit7c4bf530aefad8b5b47ffb464daa90b3f0662930 (patch)
tree8bbc830db64ef4d7fb02b72c58177afe16d1bf76 /tools/perf/scripts/python/stackcollapse.py
parent54a53dd9b6d987d887aa29e2aaf7e89860bb496b (diff)
downloadlinux-7c4bf530aefad8b5b47ffb464daa90b3f0662930.tar.gz
linux-7c4bf530aefad8b5b47ffb464daa90b3f0662930.zip
smb: client: avoid breaking the file lease when probing mfsymlinks
cifs_check_mf_symlink() probes any file whose size matches CIFS_MF_SYMLINK_FILE_SIZE as a possible Minshall+French symlink. smb2_query_mf_symlink() did so with a fresh leaseless SMB2_open, so the server saw a second conflicting opener and broke the RWH lease the client had just been granted on the same file, needlessly churning the cache. Rework smb2_query_mf_symlink() to issue a single OPEN/READ/CLOSE compound that either reuses an already open handle via cifs_get_readable_path() or, failing that, opens with the inode's lease key so the server treats it as the same lease holder. Thread the inode down to the ->query_mf_symlink() handlers, rename check_mf_symlink() to cifs_check_mf_symlink(), and validate the read payload against the response buffer before copying it. Signed-off-by: Paulo Alcantara <pc@manguebit.org> Reviewed-by: David Howells <dhowells@redhat.com> Cc: Namjae Jeon <linkinjeon@kernel.org> Cc: Ronnie Sahlberg <ronniesahlberg@gmail.com> Cc: Shyam Prasad N <sprasad@microsoft.com> Cc: Tom Talpey <tom@talpey.com> Cc: Bharath SM <bharathsm@microsoft.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions