@@ -22,10 +22,23 @@ appropriate page on our website, and check out the [detailed release notes for
22
22
23
23
### What's in 1.15.1 stable
24
24
25
- This release fixes a single issue, a soundness bug in the new
26
- ` vec::IntoIter::as_mut_slice ` method. The problem with this three line function
27
- was [ discovered] just minutes after publishing Rust 1.15.0, and is a reminder
28
- that writing unsafe code is hard.
25
+ This release fixes two issues, a soundness bug in the new
26
+ ` vec::IntoIter::as_mut_slice ` method, and a regression wherein certain C
27
+ components of the Rust distribution were [ not compiled with ` -fPIC ` ] [ fpic ] . The
28
+ latter is a regression that results in the text section of executables being
29
+ writable in some configurations, subverting an important attack mitigation, and
30
+ causing longer startup times by causing the linker to do more work. For mostly-
31
+ Rust codebases, the practical impact of losing read-only text sections is
32
+ relatively small (since Rust's type system is its first line of defense), but
33
+ for Rust linked into other codebases the impact could be unexpectedly quite
34
+ significant. The details of the bug are not that interesting though, and rest of
35
+ this post focuses on the former soundness bug.
36
+
37
+ [ fpic ] : https://github.com/rust-lang/rust/pull/39523
38
+
39
+ The problem with ` as_mut_slice ` , a three line function, was [ discovered] just
40
+ minutes after publishing Rust 1.15.0, and is a reminder that writing unsafe code
41
+ is hard.
29
42
30
43
[ discovered ] : https://www.reddit.com/r/rust/comments/5roiq7/announcing_rust_115/dd8vujs/
31
44
0 commit comments