> diff --git a/mm/kasan/kasan_test_rust.rs b/mm/kasan/kasan_test_rust.rs > new file mode 100644 > index 000000000000..6f4b43ea488c > --- /dev/null > +++ b/mm/kasan/kasan_test_rust.rs > @@ -0,0 +1,17 @@ Realized right after sending there should be // SPDX-License-Identifier: GPL-2.0 here. It should be added before merging, but not re-sending to avoid spam. > +//! Helper crate for KASAN testing > +//! Provides behavior to check the sanitization of Rust code. > +use kernel::prelude::*; > +use core::ptr::addr_of_mut; > + > +/// Trivial UAF - allocate a big vector, grab a pointer partway through, > +/// drop the vector, and touch it. > +#[no_mangle] > +pub extern "C" fn kasan_test_rust_uaf() -> u8 { > + let mut v: Vec<u8> = Vec::new(); > + for _ in 0..4096 { > + v.push(0x42, GFP_KERNEL).unwrap(); > + } > + let ptr: *mut u8 = addr_of_mut!(v[2048]); > + drop(v); > + unsafe { *ptr } > +} > -- > 2.46.0.76.ge559c4bf1a-goog >