Skip to content

Commit ad773ab

Browse files
chore(deps): Update Rust crate tokio to v1.38.2 [SECURITY] (#655)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | dev-dependencies | minor | `1.35.1` -> `1.38.2` | ### GitHub Vulnerability Alerts #### [GHSA-rr8g-9fpq-6wmg](https://redirect.github.com/tokio-rs/tokio/pull/7232) The broadcast channel internally calls `clone` on the stored value when receiving it, and only requires `T:Send`. This means that using the broadcast channel with values that are `Send` but not `Sync` can trigger unsoundness if the `clone` implementation makes use of the value being `!Sync`. Thank you to Austin Bonander for finding and reporting this issue. --- ### Release Notes <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.38.2`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.38.2): Tokio v1.38.2 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.38.1...tokio-1.38.2) This release fixes a soundness issue in the broadcast channel. The channel accepts values that are `Send` but `!Sync`. Previously, the channel called `clone()` on these values without synchronizing. This release fixes the channel by synchronizing calls to `.clone()` (Thanks Austin Bonander for finding and reporting the issue). ##### Fixed - sync: synchronize `clone()` call in broadcast channel ([#&#8203;7232]) [#&#8203;7232]: https://redirect.github.com/tokio-rs/tokio/pull/7232 ### [`v1.38.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.38.1): Tokio v1.38.1 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.38.0...tokio-1.38.1) ### 1.38.1 (July 16th, 2024) This release fixes the bug identified as ([#&#8203;6682]), which caused timers not to fire when they should. ##### Fixed - time: update `wake_up` while holding all the locks of sharded time wheels ([#&#8203;6683]) [#&#8203;6682]: https://redirect.github.com/tokio-rs/tokio/pull/6682 [#&#8203;6683]: https://redirect.github.com/tokio-rs/tokio/pull/6683 ### [`v1.38.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.38.0): Tokio v1.38.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0) This release marks the beginning of stabilization for runtime metrics. It stabilizes `RuntimeMetrics::worker_count`. Future releases will continue to stabilize more metrics. ##### Added - fs: add `File::create_new` ([#&#8203;6573]) - io: add `copy_bidirectional_with_sizes` ([#&#8203;6500]) - io: implement `AsyncBufRead` for `Join` ([#&#8203;6449]) - net: add Apple visionOS support ([#&#8203;6465]) - net: implement `Clone` for `NamedPipeInfo` ([#&#8203;6586]) - net: support QNX OS ([#&#8203;6421]) - sync: add `Notify::notify_last` ([#&#8203;6520]) - sync: add `mpsc::Receiver::{capacity,max_capacity}` ([#&#8203;6511]) - sync: add `split` method to the semaphore permit ([#&#8203;6472], [#&#8203;6478]) - task: add `tokio::task::join_set::Builder::spawn_blocking` ([#&#8203;6578]) - wasm: support rt-multi-thread with wasm32-wasi-preview1-threads ([#&#8203;6510]) ##### Changed - macros: make `#[tokio::test]` append `#[test]` at the end of the attribute list ([#&#8203;6497]) - metrics: fix `blocking_threads` count ([#&#8203;6551]) - metrics: stabilize `RuntimeMetrics::worker_count` ([#&#8203;6556]) - runtime: move task out of the `lifo_slot` in `block_in_place` ([#&#8203;6596]) - runtime: panic if `global_queue_interval` is zero ([#&#8203;6445]) - sync: always drop message in destructor for oneshot receiver ([#&#8203;6558]) - sync: instrument `Semaphore` for task dumps ([#&#8203;6499]) - sync: use FIFO ordering when waking batches of wakers ([#&#8203;6521]) - task: make `LocalKey::get` work with Clone types ([#&#8203;6433]) - tests: update nix and mio-aio dev-dependencies ([#&#8203;6552]) - time: clean up implementation ([#&#8203;6517]) - time: lazily init timers on first poll ([#&#8203;6512]) - time: remove the `true_when` field in `TimerShared` ([#&#8203;6563]) - time: use sharding for timer implementation ([#&#8203;6534]) ##### Fixed - taskdump: allow building taskdump docs on non-unix machines ([#&#8203;6564]) - time: check for overflow in `Interval::poll_tick` ([#&#8203;6487]) - sync: fix incorrect `is_empty` on mpsc block boundaries ([#&#8203;6603]) ##### Documented - fs: rewrite file system docs ([#&#8203;6467]) - io: fix `stdin` documentation ([#&#8203;6581]) - io: fix obsolete reference in `ReadHalf::unsplit()` documentation ([#&#8203;6498]) - macros: render more comprehensible documentation for `select!` ([#&#8203;6468]) - net: add missing types to module docs ([#&#8203;6482]) - net: fix misleading `NamedPipeServer` example ([#&#8203;6590]) - sync: add examples for `SemaphorePermit`, `OwnedSemaphorePermit` ([#&#8203;6477]) - sync: document that `Barrier::wait` is not cancel safe ([#&#8203;6494]) - sync: explain relation between `watch::Sender::{subscribe,closed}` ([#&#8203;6490]) - task: clarify that you can't abort `spawn_blocking` tasks ([#&#8203;6571]) - task: fix a typo in doc of `LocalSet::run_until` ([#&#8203;6599]) - time: fix test-util requirement for pause and resume in docs ([#&#8203;6503]) [#&#8203;6421]: https://redirect.github.com/tokio-rs/tokio/pull/6421 [#&#8203;6433]: https://redirect.github.com/tokio-rs/tokio/pull/6433 [#&#8203;6445]: https://redirect.github.com/tokio-rs/tokio/pull/6445 [#&#8203;6449]: https://redirect.github.com/tokio-rs/tokio/pull/6449 [#&#8203;6465]: https://redirect.github.com/tokio-rs/tokio/pull/6465 [#&#8203;6467]: https://redirect.github.com/tokio-rs/tokio/pull/6467 [#&#8203;6468]: https://redirect.github.com/tokio-rs/tokio/pull/6468 [#&#8203;6472]: https://redirect.github.com/tokio-rs/tokio/pull/6472 [#&#8203;6477]: https://redirect.github.com/tokio-rs/tokio/pull/6477 [#&#8203;6478]: https://redirect.github.com/tokio-rs/tokio/pull/6478 [#&#8203;6482]: https://redirect.github.com/tokio-rs/tokio/pull/6482 [#&#8203;6487]: https://redirect.github.com/tokio-rs/tokio/pull/6487 [#&#8203;6490]: https://redirect.github.com/tokio-rs/tokio/pull/6490 [#&#8203;6494]: https://redirect.github.com/tokio-rs/tokio/pull/6494 [#&#8203;6497]: https://redirect.github.com/tokio-rs/tokio/pull/6497 [#&#8203;6498]: https://redirect.github.com/tokio-rs/tokio/pull/6498 [#&#8203;6499]: https://redirect.github.com/tokio-rs/tokio/pull/6499 [#&#8203;6500]: https://redirect.github.com/tokio-rs/tokio/pull/6500 [#&#8203;6503]: https://redirect.github.com/tokio-rs/tokio/pull/6503 [#&#8203;6510]: https://redirect.github.com/tokio-rs/tokio/pull/6510 [#&#8203;6511]: https://redirect.github.com/tokio-rs/tokio/pull/6511 [#&#8203;6512]: https://redirect.github.com/tokio-rs/tokio/pull/6512 [#&#8203;6517]: https://redirect.github.com/tokio-rs/tokio/pull/6517 [#&#8203;6520]: https://redirect.github.com/tokio-rs/tokio/pull/6520 [#&#8203;6521]: https://redirect.github.com/tokio-rs/tokio/pull/6521 [#&#8203;6534]: https://redirect.github.com/tokio-rs/tokio/pull/6534 [#&#8203;6551]: https://redirect.github.com/tokio-rs/tokio/pull/6551 [#&#8203;6552]: https://redirect.github.com/tokio-rs/tokio/pull/6552 [#&#8203;6556]: https://redirect.github.com/tokio-rs/tokio/pull/6556 [#&#8203;6558]: https://redirect.github.com/tokio-rs/tokio/pull/6558 [#&#8203;6563]: https://redirect.github.com/tokio-rs/tokio/pull/6563 [#&#8203;6564]: https://redirect.github.com/tokio-rs/tokio/pull/6564 [#&#8203;6571]: https://redirect.github.com/tokio-rs/tokio/pull/6571 [#&#8203;6573]: https://redirect.github.com/tokio-rs/tokio/pull/6573 [#&#8203;6578]: https://redirect.github.com/tokio-rs/tokio/pull/6578 [#&#8203;6581]: https://redirect.github.com/tokio-rs/tokio/pull/6581 [#&#8203;6586]: https://redirect.github.com/tokio-rs/tokio/pull/6586 [#&#8203;6590]: https://redirect.github.com/tokio-rs/tokio/pull/6590 [#&#8203;6596]: https://redirect.github.com/tokio-rs/tokio/pull/6596 [#&#8203;6599]: https://redirect.github.com/tokio-rs/tokio/pull/6599 [#&#8203;6603]: https://redirect.github.com/tokio-rs/tokio/pull/6603 ### [`v1.37.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.37.0): Tokio v1.37.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0) ### 1.37.0 (March 28th, 2024) ##### Added - fs: add `set_max_buf_size` to `tokio::fs::File` ([#&#8203;6411]) - io: add `try_new` and `try_with_interest` to `AsyncFd` ([#&#8203;6345]) - sync: add `forget_permits` method to semaphore ([#&#8203;6331]) - sync: add `is_closed`, `is_empty`, and `len` to mpsc receivers ([#&#8203;6348]) - sync: add a `rwlock()` method to owned `RwLock` guards ([#&#8203;6418]) - sync: expose strong and weak counts of mpsc sender handles ([#&#8203;6405]) - sync: implement `Clone` for `watch::Sender` ([#&#8203;6388]) - task: add `TaskLocalFuture::take_value` ([#&#8203;6340]) - task: implement `FromIterator` for `JoinSet` ([#&#8203;6300]) ##### Changed - io: make `io::split` use a mutex instead of a spinlock ([#&#8203;6403]) ##### Fixed - docs: fix docsrs build without net feature ([#&#8203;6360]) - macros: allow select with only else branch ([#&#8203;6339]) - runtime: fix leaking registration entries when os registration fails ([#&#8203;6329]) ##### Documented - io: document cancel safety of `AsyncBufReadExt::fill_buf` ([#&#8203;6431]) - io: document cancel safety of `AsyncReadExt`'s primitive read functions ([#&#8203;6337]) - runtime: add doc link from `Runtime` to `#[tokio::main]` ([#&#8203;6366]) - runtime: make the `enter` example deterministic ([#&#8203;6351]) - sync: add Semaphore example for limiting the number of outgoing requests ([#&#8203;6419]) - sync: fix missing period in broadcast docs ([#&#8203;6377]) - sync: mark `mpsc::Sender::downgrade` with `#[must_use]` ([#&#8203;6326]) - sync: reorder `const_new` before `new_with` ([#&#8203;6392]) - sync: update watch channel docs ([#&#8203;6395]) - task: fix documentation links ([#&#8203;6336]) ##### Changed (unstable) - runtime: include task `Id` in taskdumps ([#&#8203;6328]) - runtime: panic if `unhandled_panic` is enabled when not supported ([#&#8203;6410]) [#&#8203;6300]: https://redirect.github.com/tokio-rs/tokio/pull/6300 [#&#8203;6326]: https://redirect.github.com/tokio-rs/tokio/pull/6326 [#&#8203;6328]: https://redirect.github.com/tokio-rs/tokio/pull/6328 [#&#8203;6329]: https://redirect.github.com/tokio-rs/tokio/pull/6329 [#&#8203;6331]: https://redirect.github.com/tokio-rs/tokio/pull/6331 [#&#8203;6336]: https://redirect.github.com/tokio-rs/tokio/pull/6336 [#&#8203;6337]: https://redirect.github.com/tokio-rs/tokio/pull/6337 [#&#8203;6339]: https://redirect.github.com/tokio-rs/tokio/pull/6339 [#&#8203;6340]: https://redirect.github.com/tokio-rs/tokio/pull/6340 [#&#8203;6345]: https://redirect.github.com/tokio-rs/tokio/pull/6345 [#&#8203;6348]: https://redirect.github.com/tokio-rs/tokio/pull/6348 [#&#8203;6351]: https://redirect.github.com/tokio-rs/tokio/pull/6351 [#&#8203;6360]: https://redirect.github.com/tokio-rs/tokio/pull/6360 [#&#8203;6366]: https://redirect.github.com/tokio-rs/tokio/pull/6366 [#&#8203;6377]: https://redirect.github.com/tokio-rs/tokio/pull/6377 [#&#8203;6388]: https://redirect.github.com/tokio-rs/tokio/pull/6388 [#&#8203;6392]: https://redirect.github.com/tokio-rs/tokio/pull/6392 [#&#8203;6395]: https://redirect.github.com/tokio-rs/tokio/pull/6395 [#&#8203;6403]: https://redirect.github.com/tokio-rs/tokio/pull/6403 [#&#8203;6405]: https://redirect.github.com/tokio-rs/tokio/pull/6405 [#&#8203;6410]: https://redirect.github.com/tokio-rs/tokio/pull/6410 [#&#8203;6411]: https://redirect.github.com/tokio-rs/tokio/pull/6411 [#&#8203;6418]: https://redirect.github.com/tokio-rs/tokio/pull/6418 [#&#8203;6419]: https://redirect.github.com/tokio-rs/tokio/pull/6419 [#&#8203;6431]: https://redirect.github.com/tokio-rs/tokio/pull/6431 ### [`v1.36.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.36.0): Tokio v1.36.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.35.1...tokio-1.36.0) ### 1.36.0 (February 2nd, 2024) ##### Added - io: add `tokio::io::Join` ([#&#8203;6220]) - io: implement `AsyncWrite` for `Empty` ([#&#8203;6235]) - net: add support for anonymous unix pipes ([#&#8203;6127]) - net: add `UnixSocket` ([#&#8203;6290]) - net: expose keepalive option on `TcpSocket` ([#&#8203;6311]) - sync: add `{Receiver,UnboundedReceiver}::poll_recv_many` ([#&#8203;6236]) - sync: add `Sender::{try_,}reserve_many` ([#&#8203;6205]) - sync: add `watch::Receiver::mark_unchanged` ([#&#8203;6252]) - task: add `JoinSet::try_join_next` ([#&#8203;6280]) ##### Changed - io: make `copy` cooperative ([#&#8203;6265]) - io: make `repeat` and `sink` cooperative ([#&#8203;6254]) - io: simplify check for empty slice ([#&#8203;6293]) - process: use pidfd on Linux when available ([#&#8203;6152]) - sync: use AtomicBool in broadcast channel future ([#&#8203;6298]) ##### Documented - io: clarify `clear_ready` docs ([#&#8203;6304]) - net: document that `*Fd` traits on `TcpSocket` are unix-only ([#&#8203;6294]) - sync: document FIFO behavior of `tokio::sync::Mutex` ([#&#8203;6279]) - chore: typographic improvements ([#&#8203;6262]) - runtime: remove obsolete comment ([#&#8203;6303]) - task: fix typo ([#&#8203;6261]) [#&#8203;6220]: https://redirect.github.com/tokio-rs/tokio/pull/6220 [#&#8203;6235]: https://redirect.github.com/tokio-rs/tokio/pull/6235 [#&#8203;6127]: https://redirect.github.com/tokio-rs/tokio/pull/6127 [#&#8203;6290]: https://redirect.github.com/tokio-rs/tokio/pull/6290 [#&#8203;6311]: https://redirect.github.com/tokio-rs/tokio/pull/6311 [#&#8203;6236]: https://redirect.github.com/tokio-rs/tokio/pull/6236 [#&#8203;6205]: https://redirect.github.com/tokio-rs/tokio/pull/6205 [#&#8203;6252]: https://redirect.github.com/tokio-rs/tokio/pull/6252 [#&#8203;6280]: https://redirect.github.com/tokio-rs/tokio/pull/6280 [#&#8203;6265]: https://redirect.github.com/tokio-rs/tokio/pull/6265 [#&#8203;6254]: https://redirect.github.com/tokio-rs/tokio/pull/6254 [#&#8203;6293]: https://redirect.github.com/tokio-rs/tokio/pull/6293 [#&#8203;6238]: https://redirect.github.com/tokio-rs/tokio/pull/6238 [#&#8203;6152]: https://redirect.github.com/tokio-rs/tokio/pull/6152 [#&#8203;6298]: https://redirect.github.com/tokio-rs/tokio/pull/6298 [#&#8203;6262]: https://redirect.github.com/tokio-rs/tokio/pull/6262 [#&#8203;6303]: https://redirect.github.com/tokio-rs/tokio/pull/6303 [#&#8203;6261]: https://redirect.github.com/tokio-rs/tokio/pull/6261 [#&#8203;6304]: https://redirect.github.com/tokio-rs/tokio/pull/6304 [#&#8203;6294]: https://redirect.github.com/tokio-rs/tokio/pull/6294 [#&#8203;6279]: https://redirect.github.com/tokio-rs/tokio/pull/6279 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/rust-cli/config-rs). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1 parent ec25b58 commit ad773ab

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Cargo.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)