rust/tests/codegen-llvm/sanitizer/sanitize-off-kasan-asan.rs

30 lines
856 B
Rust

// Verifies that the `#[sanitize(kernel_address = "off")]` attribute also turns off
// the address sanitizer.
//
//@ needs-sanitizer-address
//@ compile-flags: -Zsanitizer=address -Ctarget-feature=-crt-static -Copt-level=0 -C unsafe-allow-abi-mismatch=sanitizer
#![crate_type = "lib"]
#![feature(sanitize)]
// CHECK-LABEL: ; sanitize_off_kasan_asan::unsanitized
// CHECK-NEXT: ; Function Attrs:
// CHECK-NOT: sanitize_address
// CHECK: start:
// CHECK-NOT: call void @__asan_report_load
// CHECK: }
#[sanitize(kernel_address = "off")]
pub fn unsanitized(b: &mut u8) -> u8 {
*b
}
// CHECK-LABEL: ; sanitize_off_kasan_asan::sanitized
// CHECK-NEXT: ; Function Attrs:
// CHECK: sanitize_address
// CHECK: start:
// CHECK: call void @__asan_report_load
// CHECK: }
pub fn sanitized(b: &mut u8) -> u8 {
*b
}