Repository navigation
Update Rust crate tokio to v1.38.2 [SECURITY] - #135
Conversation
3d7e406 to
1bcbd89
Compare
1bcbd89 to
5029ed2
Compare
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
5029ed2 to
1ac8bc5
Compare
1ac8bc5 to
dcee3a6
Compare
dcee3a6 to
c19f3f0
Compare
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
This PR contains the following updates:
1.25.0→1.38.21.29.1→1.38.2Tokio broadcast channel calls clone in parallel, but does not require
SyncGHSA-rr8g-9fpq-6wmg
More information
Details
The broadcast channel internally calls
cloneon the stored value when receiving it, and only requiresT:Send. This means that using the broadcast channel with values that areSendbut notSynccan trigger unsoundness if thecloneimplementation makes use of the value being!Sync.Thank you to Austin Bonander for finding and reporting this issue.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:UReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
tokio-rs/tokio (tokio)
v1.38.2: Tokio v1.38.2Compare Source
This release fixes a soundness issue in the broadcast channel. The channel accepts values that are
Sendbut!Sync. Previously, the channel calledclone()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
clone()call in broadcast channel (#7232)v1.38.1: Tokio v1.38.1Compare Source
1.38.1 (July 16th, 2024)
This release fixes the bug identified as (#6682), which caused timers not
to fire when they should.
Fixed
wake_upwhile holding all the locks of sharded time wheels (#6683)v1.38.0: Tokio v1.38.0Compare Source
This release marks the beginning of stabilization for runtime metrics. It
stabilizes
RuntimeMetrics::worker_count. Future releases will continue tostabilize more metrics.
Added
File::create_new(#6573)copy_bidirectional_with_sizes(#6500)AsyncBufReadforJoin(#6449)CloneforNamedPipeInfo(#6586)Notify::notify_last(#6520)mpsc::Receiver::{capacity,max_capacity}(#6511)splitmethod to the semaphore permit (#6472, #6478)tokio::task::join_set::Builder::spawn_blocking(#6578)Changed
#[tokio::test]append#[test]at the end of the attribute list (#6497)blocking_threadscount (#6551)RuntimeMetrics::worker_count(#6556)lifo_slotinblock_in_place(#6596)global_queue_intervalis zero (#6445)Semaphorefor task dumps (#6499)LocalKey::getwork with Clone types (#6433)true_whenfield inTimerShared(#6563)Fixed
Interval::poll_tick(#6487)is_emptyon mpsc block boundaries (#6603)Documented
stdindocumentation (#6581)ReadHalf::unsplit()documentation (#6498)select!(#6468)NamedPipeServerexample (#6590)SemaphorePermit,OwnedSemaphorePermit(#6477)Barrier::waitis not cancel safe (#6494)watch::Sender::{subscribe,closed}(#6490)spawn_blockingtasks (#6571)LocalSet::run_until(#6599)v1.37.0: Tokio v1.37.0Compare Source
1.37.0 (March 28th, 2024)
Added
set_max_buf_sizetotokio::fs::File(#6411)try_newandtry_with_interesttoAsyncFd(#6345)forget_permitsmethod to semaphore (#6331)is_closed,is_empty, andlento mpsc receivers (#6348)rwlock()method to ownedRwLockguards (#6418)Cloneforwatch::Sender(#6388)TaskLocalFuture::take_value(#6340)FromIteratorforJoinSet(#6300)Changed
io::splituse a mutex instead of a spinlock (#6403)Fixed
Documented
AsyncBufReadExt::fill_buf(#6431)AsyncReadExt's primitive read functions (#6337)Runtimeto#[tokio::main](#6366)enterexample deterministic (#6351)mpsc::Sender::downgradewith#[must_use](#6326)const_newbeforenew_with(#6392)Changed (unstable)
Idin taskdumps (#6328)unhandled_panicis enabled when not supported (#6410)v1.36.0: Tokio v1.36.0Compare Source
1.36.0 (February 2nd, 2024)
Added
tokio::io::Join(#6220)AsyncWriteforEmpty(#6235)UnixSocket(#6290)TcpSocket(#6311){Receiver,UnboundedReceiver}::poll_recv_many(#6236)Sender::{try_,}reserve_many(#6205)watch::Receiver::mark_unchanged(#6252)JoinSet::try_join_next(#6280)Changed
copycooperative (#6265)repeatandsinkcooperative (#6254)Documented
clear_readydocs (#6304)*Fdtraits onTcpSocketare unix-only (#6294)tokio::sync::Mutex(#6279)v1.35.1: Tokio v1.35.1Compare Source
1.35.1 (December 19, 2023)
This is a forward part of a change that was backported to 1.25.3.
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.35.0: Tokio v1.35.0Compare Source
1.35.0 (December 8th, 2023)
Added
Changed
Sizedrequirements fromAsyncReadExt.read_buf(#6169)Runtimeunwind safe (#6189)Fixed
--cfg docsrswork without net feature (#6166)unsync_loadon miri (#6179)Documented
AsyncWriteExtexamples (#6149)LocalSet::run_until(#6147)v1.34.0: Tokio v1.34.0Compare Source
Fixed
clear_readinessafter io driver shutdown (#6067)take(#6080)broadcast::channellink (#6100)Changed
::corequalified imports instead of::stdinsidetokio::testmacro (#5973)Added
fs::read_dirto includeaix(#6075)mpsc::Receiver::recv_many(#6010)v1.33.0: Tokio v1.33.0Compare Source
1.33.0 (October 9, 2023)
Fixed
Interest::addwith#[must_use](#6037)watch::Receiver::wait_for(#6021)spawn_localsource location (#5984)Changed
watch(#6018)Added
tokio::fs::File(#5958)Interest::removemethod (#5906)DuplexStream(#5985)?Sizedbound to{MutexGuard,OwnedMutexGuard}::map(#5997)watch::Receiver::mark_unseen(#5962, #6014, #6017)watch::Sender::new(#5998)OnceCell::from_value(#5903)Removed
statsfeature (#5952)Documented
Child::waitis cancel safe (#5977)Semaphore(#5939, #5956, #5978, #6031, #6032, #6050)broadcastcapacity is a lower bound (#6042)const_newis not instrumented (#6002)mpsc::Sender::send(#5947)watchchannel (#5954)Unstable
v1.32.1: Tokio v1.32.1Compare Source
1.32.1 (December 19, 2023)
This is a forward part of a change that was backported to 1.25.3.
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.32.0: Tokio v1.32.0Compare Source
Fixed
broadcast::Receiver(#5925)Added
Command::raw_arg(#5930)Unstable
v1.31.0: Tokio v1.31.0Compare Source
Fixed
WriteHalf::poll_write_vectored(#5914)Unstable
v1.30.0: Tokio v1.30.0Compare Source
1.30.0 (August 9, 2023)
This release bumps the MSRV of Tokio to 1.63. (#5887)
Changed
--cfg mio_unsupported_force_poll_pollflag (#5881)const_newmethods always available (#5885)Added
broadcast::Sender::new(#5824)UCredfor espidf (#5868)File::options()(#5869)Interval(#5878){ChildStd*}::into_owned_{fd, handle}(#5899)Removed
tokio_*cfgs (#5890)Documented
broadcast::send(#5820)AsyncReadExt::read_exact(#5863)Sleepas!Unpinin docs (#5916)raw_argnot showing up in docs (#5865)Unstable
v1.29.1: Tokio v1.29.1Compare Source
Fixed
block_in_placewith ablock_onbetween (#5837)v1.29.0: Tokio v1.29.0Compare Source
Technically a breaking change, the
Sendimplementation is removed fromruntime::EnterGuard. This change fixes a bug and should not impact most users.Breaking
EnterGuardshould not beSend(#5766)Fixed
fs::read_dir(#5653)JoinSet(#5693)EnterGuarddropped incorrect order (#5772)File(#5803)Changed
Added
broadcast::Receiver::blocking_recv(#5690)raw_argmethod toCommand(#5704)JoinSet::poll_join_next(#5721)Unstable
v1.28.2: Tokio v1.28.2Compare Source
1.28.2 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
v1.28.1: Tokio v1.28.1Compare Source
1.28.1 (May 10th, 2023)
This release fixes a mistake in the build script that makes
AsFdimplementations unavailable on Rust 1.63. (#5677)v1.28.0: Tokio v1.28.0Compare Source
1.28.0 (April 25th, 2023)
Added
AsyncFd::async_io(#5542)recv_bufforUdpSocketandUnixDatagram(#5583)OwnedSemaphorePermit::semaphore(#5618)same_channelto broadcast channel (#5607)watch::Receiver::wait_for(#5611)JoinSet::spawn_blockingandJoinSet::spawn_blocking_on(#5612)Changed
read_to_endnot grow unnecessarily (#5610)RwLock(#5647)Notify(#5503)Fixed
get_peer_credon AIX (#5065)broadcastwith custom wakers (#5578)Documented
Semaphore::MAX_PERMITS(#5645)tokio::sync::watch::Senderdocs (#5587)v1.27.0: Tokio v1.27.0Compare Source
1.27.0 (March 27th, 2023)
This release bumps the MSRV of Tokio to 1.56. (#5559)
Added
async_iohelper method to sockets (#5512)AsFd/AsHandle/AsSocket(#5514, #5540)UdpSocket::peek_sender()(#5520)RwLockWriteGuard::{downgrade_map, try_downgrade_map}(#5527)JoinHandle::abort_handle(#5543)Changed
memchrfromlibc(#5558)#[tokio::main](#5557)IntervalreturnsReady(#5553)Fixed
ReadDir(#5555)spawn_blockinglocation fields (#5573)Wheel::poll()(#5574)Documented
tokio::io::copy[_buf](#5575)ReaderStreamandStreamReaderin module docs (#5576)v1.26.0: Tokio v1.26.0Compare Source
Fixed
join!andtry_join!([https://github.com/tokio-rs/tokio/pull/5504])Added
fs::try_exists([https://github.com/tokio-rs/tokio/pull/4299])MappedOwnedMutexGuard([https://github.com/tokio-rs/tokio/pull/5474])Changed
#[clippy::has_significant_drop]([https://github.com/tokio-rs/tokio/pull/5422])Instant::now()perf with test-util ([https://github.com/tokio-rs/tokio/pull/5513])Internal Changes
poll_fnincopy_bidirectional([https://github.com/tokio-rs/tokio/pull/5486])notify_waiterscalls atomic ([https://github.com/tokio-rs/tokio/pull/5458])Unstable
Documented
blocking_*methods ([https://github.com/tokio-rs/tokio/pull/5448])process::Commanddocs ([https://github.com/tokio-rs/tokio/pull/5413])v1.25.3: Tokio v1.25.3Compare Source
1.25.3 (December 17th, 2023)
Fixed
tokio::runtime::io::registration::async_io(#6221)v1.25.2: Tokio v1.25.2Compare Source
1.25.2 (September 22, 2023)
Forward ports 1.20.6 changes.
Changed
memchrfromlibc(#5960)v1.25.1: Tokio v1.25.1Compare Source
1.25.1 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.