coconut-svsm / svsm

COCONUT-SVSM
MIT License
122 stars 43 forks source link

stage2: do not use mutable references to mutable statics #250

Closed 00xc closed 9 months ago

00xc commented 9 months ago

Fix a couple of nightly clippy warnings like the following:

warning: mutable reference of mutable static is discouraged
  --> src/stage2.rs:69:50
   |
69 |         bsp_percpu.set_pgtable(PageTableRef::new(&mut pgtable));
   |                                                  ^^^^^^^^^^^^ mutable reference of mutable static
   |
   = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
   = note: reference of mutable static is a hard error from 2024 edition
   = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
   = note: `#[warn(static_mut_ref)]` on by default
help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
   |
69 |         bsp_percpu.set_pgtable(PageTableRef::new(addr_of_mut!(pgtable)));

Fix this by simply using *mut pointers.