about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-03-10 19:00:07 +0100
committerGitHub <noreply@github.com>2022-03-10 19:00:07 +0100
commitf1a677789ae12780fcc49fb449be8b336528b080 (patch)
treef680578ac869a1fcf3d959b783664f0a6d3024b0 /compiler/rustc_codegen_llvm/src
parentb5127202b278cc87e7577cea4165b4e39c60f1e2 (diff)
parentb97d87518d19e418220f726e774ffceadb4d33b9 (diff)
downloadrust-f1a677789ae12780fcc49fb449be8b336528b080.tar.gz
rust-f1a677789ae12780fcc49fb449be8b336528b080.zip
Rollup merge of #94644 - m-ou-se:scoped-threads-drop-soundness, r=joshtriplett
Fix soundness issue in scoped threads.

This was discovered in https://github.com/rust-lang/rust/pull/94559#discussion_r820116323

The `scope()` function returns when all threads are finished, but I accidentally considered a thread 'finished' before dropping their panic payload or ignored return value.

So if a thread returned (or panics with) something that in its `Drop` implementation still uses borrowed stuff, it goes wrong.

https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=2a1f19ac4676cdabe43e24e536ff9358
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions