Commit 581711c
io_uring/net: save address for sendzc async execution
We usually copy all bits that a request needs from the userspace for
async execution, so the userspace can keep them on the stack. However,
send zerocopy violates this pattern for addresses and may reloads it
e.g. from io-wq. Save the address if any in ->async_data as usual.
Reported-by: Stefan Metzmacher <[email protected]>
Signed-off-by: Pavel Begunkov <[email protected]>
Link: https://lore.kernel.org/r/d7512d7aa9abcd36e9afe1a4d292a24cb2d157e5.1661342812.git.asml.silence@gmail.com
[axboe: fold in incremental fix]
Signed-off-by: Jens Axboe <[email protected]>1 parent 5916943 commit 581711c
3 files changed
+50
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
185 | 216 | | |
186 | 217 | | |
187 | 218 | | |
| |||
944 | 975 | | |
945 | 976 | | |
946 | 977 | | |
947 | | - | |
| 978 | + | |
948 | 979 | | |
949 | 980 | | |
950 | 981 | | |
| |||
978 | 1009 | | |
979 | 1010 | | |
980 | 1011 | | |
981 | | - | |
982 | | - | |
983 | | - | |
984 | | - | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
985 | 1023 | | |
986 | 1024 | | |
987 | 1025 | | |
| |||
1013 | 1051 | | |
1014 | 1052 | | |
1015 | 1053 | | |
1016 | | - | |
| 1054 | + | |
| 1055 | + | |
1017 | 1056 | | |
1018 | 1057 | | |
1019 | 1058 | | |
1020 | 1059 | | |
1021 | 1060 | | |
1022 | | - | |
| 1061 | + | |
1023 | 1062 | | |
1024 | 1063 | | |
1025 | 1064 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
478 | 478 | | |
479 | 479 | | |
480 | 480 | | |
| 481 | + | |
481 | 482 | | |
| 483 | + | |
482 | 484 | | |
483 | 485 | | |
| 486 | + | |
484 | 487 | | |
485 | 488 | | |
486 | 489 | | |
487 | | - | |
488 | 490 | | |
489 | 491 | | |
490 | 492 | | |
| |||
0 commit comments