Commit afb1a3c
committed
SMB3: drop reference to cfile before sending oplock break
jira VULN-131073
cve-pre CVE-2025-38527
commit-author Bharath SM <[email protected]>
commit 59a556a
In cifs_oplock_break function we drop reference to a cfile at
the end of function, due to which close command goes on wire
after lease break acknowledgment even if file is already closed
by application but we had deferred the handle close.
If other client with limited file shareaccess waiting on lease
break ack proceeds operation on that file as soon as first client
sends ack, then we may encounter status sharing violation error
because of open handle.
Solution is to put reference to cfile(send close on wire if last ref)
and then send oplock acknowledgment to server.
Fixes: 9e31678 ("SMB3: fix lease break timeout when multiple deferred close handles for the same file.")
Cc: [email protected]
Signed-off-by: Bharath SM <[email protected]>
Reviewed-by: Shyam Prasad N <[email protected]>
Signed-off-by: Steve French <[email protected]>
(cherry picked from commit 59a556a)
Signed-off-by: Brett Mastbergen <[email protected]>1 parent 1a4725e commit afb1a3c
4 files changed
+21
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
422 | 422 | | |
423 | 423 | | |
424 | 424 | | |
425 | | - | |
426 | | - | |
| 425 | + | |
| 426 | + | |
427 | 427 | | |
428 | 428 | | |
429 | 429 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5052 | 5052 | | |
5053 | 5053 | | |
5054 | 5054 | | |
5055 | | - | |
| 5055 | + | |
| 5056 | + | |
| 5057 | + | |
5056 | 5058 | | |
5057 | 5059 | | |
5058 | 5060 | | |
| |||
5097 | 5099 | | |
5098 | 5100 | | |
5099 | 5101 | | |
| 5102 | + | |
| 5103 | + | |
| 5104 | + | |
| 5105 | + | |
| 5106 | + | |
| 5107 | + | |
5100 | 5108 | | |
5101 | 5109 | | |
5102 | 5110 | | |
5103 | 5111 | | |
5104 | 5112 | | |
5105 | 5113 | | |
5106 | | - | |
5107 | | - | |
5108 | | - | |
| 5114 | + | |
| 5115 | + | |
| 5116 | + | |
5109 | 5117 | | |
5110 | 5118 | | |
5111 | 5119 | | |
5112 | | - | |
5113 | 5120 | | |
5114 | 5121 | | |
5115 | 5122 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
872 | 872 | | |
873 | 873 | | |
874 | 874 | | |
875 | | - | |
876 | | - | |
| 875 | + | |
| 876 | + | |
877 | 877 | | |
878 | | - | |
879 | | - | |
880 | | - | |
| 878 | + | |
| 879 | + | |
881 | 880 | | |
882 | 881 | | |
883 | 882 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2309 | 2309 | | |
2310 | 2310 | | |
2311 | 2311 | | |
2312 | | - | |
2313 | | - | |
| 2312 | + | |
| 2313 | + | |
2314 | 2314 | | |
2315 | 2315 | | |
2316 | 2316 | | |
2317 | 2317 | | |
2318 | 2318 | | |
2319 | | - | |
2320 | | - | |
| 2319 | + | |
2321 | 2320 | | |
2322 | 2321 | | |
2323 | 2322 | | |
| |||
0 commit comments