[Pkg-rust-maintainers] Bug#959877: Bug#959877: rustc: soundness bug reintroduced by debian due to system LLVM
Ximin Luo
infinity0 at debian.org
Wed May 20 12:47:12 BST 2020
Control: reassign -1 llvm-toolchain-9
Control: affects -1 rustc
Control: tags -1 + upstream patch
LLVM maintainer, please backport the following upstream patch to LLVM 9: https://github.com/rust-lang/llvm-project/commit/7d5e7c023053660ffe494d72ce471e48ecc7f49b
Since rust has already backported it to their LLVM, I assume it applies cleanly, but if it doesn't please let me know and I'll try to fix it.
X
Jakub Kądziołka:
> Package: rustc
> Version: 1.42.0+dfsg1-1
> Severity: important
> Tags: security
>
> [ NOTE: I have tried to check whether this reproduces on the 1.43
> package that reportbug can see on experimental, but apt claims there's
> no new version on experimental. ]
>
> Steps to reproduce:
>
> 1. Download this file from rustc's test suite:
> $ wget https://raw.githubusercontent.com/rust-lang/rust/f8d394e5184fe3af761ea1e5ba73f993cfb36dfe/src/test/ui/issues/issue-69225-SCEVAddExpr-wrap-flag.rs
>
> 2. Compile it.
> $ rustc -C opt-level=3 issue-69225-SCEVAddExpr-wrap-flag.rs
>
> 3. Run the binary.
> $ ./issue-69225-SCEVAddExpr-wrap-flag
>
> Actual output:
> Segmentation fault
>
> Expected output (from rustc 1.42.0 obtained via rustup):
> thread 'main' panicked at 'index out of bounds: the len is 0 but the index is 16777216', issue-69225-SCEVAddExpr-wrap-flag.rs:24:17
> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
>
> This bug stems from a miscompilation introduced in LLVM 9. The fix got
> backported into the LLVM vendored by Rust in 1.41.1:
> https://github.com/rust-lang/llvm-project/commit/7d5e7c023053660ffe494d72ce471e48ecc7f49b
>
> This discussion on Rust's zulip might also be relevant:
> https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/The.20LLVM.20release.20process
>
> -- System Information:
> Debian Release: bullseye/sid
> APT prefers unstable
> APT policy: (500, 'unstable'), (1, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 5.4.0-4-amd64 (SMP w/4 CPU cores)
> Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/bash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
>
> Versions of packages rustc depends on:
> ii binutils 2.34-6
> ii gcc 4:9.2.1-3.1
> ii libc6 2.30-4
> ii libc6-dev [libc-dev] 2.30-4
> ii libgcc-s1 10-20200502-1
> ii libstd-rust-dev 1.42.0+dfsg1-1
>
> Versions of packages rustc recommends:
> pn cargo <none>
> pn rust-gdb | rust-lldb <none>
>
> Versions of packages rustc suggests:
> pn lld-9 <none>
> pn rust-doc <none>
> pn rust-src <none>
>
> -- no debconf information
>
> _______________________________________________
> Pkg-rust-maintainers mailing list
> Pkg-rust-maintainers at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-rust-maintainers
>
--
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git
More information about the Pkg-rust-maintainers
mailing list