diff options
| author | Zhao Zhang <zzhan461@ucr.edu> | 2026-06-18 23:28:05 +0800 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2026-06-18 18:10:27 -0500 |
| commit | 4be31c943a3a27a5a0251dbb8f5cb89059ec3d5a (patch) | |
| tree | b98605758d98cdd7c42085adf6f5487508f61762 /rust/zerocopy/src/pointer/git@git.tavy.me:linux-stable.git | |
| parent | dac3b26eae7bee261fa05f20c3fcc24988a7c233 (diff) | |
smb: client: fix double-free in SMB2_flush() replay
SMB2_flush() keeps its response buffer bookkeeping across replay
attempts. If a replayable flush response is received and the retry then
fails before cifs_send_recv() stores a replacement response, flush_exit
will free the stale response pointer a second time.
Reinitialize resp_buftype and rsp_iov at the top of the replay loop so
cleanup only acts on response state produced by the current attempt.
This fixes a double-free without changing replay handling for successful
requests.
Fixes: 4f1fffa23769 ("cifs: commands that are retried should have replay flag set")
Cc: stable@vger.kernel.org
Reported-by: Yuan Tan <yuantan098@gmail.com>
Reported-by: Zhengchuan Liang <zcliangcn@gmail.com>
Reported-by: Xin Liu <bird@lzu.edu.cn>
Assisted-by: Codex:GPT-5.4
Acked-by: Henrique Carvalho <henrique.carvalho@suse.com>
Signed-off-by: Zhao Zhang <zzhan461@ucr.edu>
Signed-off-by: Ren Wei <n05ec@lzu.edu.cn>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'rust/zerocopy/src/pointer/git@git.tavy.me:linux-stable.git')
0 files changed, 0 insertions, 0 deletions
