Skip to content

Commit

Permalink
Add test for kallsyms-based kernel address symbolization
Browse files Browse the repository at this point in the history
Add a test for kallsyms-based kernel address symbolization. We rely on
the already present kallsyms copy, as opposed to data from a live
system.

Signed-off-by: Daniel Müller <[email protected]>
  • Loading branch information
d-e-s-o authored and danielocfb committed Jan 14, 2025
1 parent 1c785a1 commit aab6e5b
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions tests/suite/symbolize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1015,6 +1015,28 @@ fn symbolize_zip_with_custom_dispatch_errors() {
let () = test(zip_delayed_error_dispatch);
}

/// Test symbolization of a kernel address present in a kallsyms style
/// file.
#[test]
fn symbolize_kernel() {
let kernel = Kernel {
kallsyms: Some(
Path::new(&env!("CARGO_MANIFEST_DIR"))
.join("data")
.join("kallsyms"),
),
..Default::default()
};
let src = Source::Kernel(kernel);
let symbolizer = Symbolizer::new();
let symbolized = symbolizer
.symbolize_single(&src, Input::AbsAddr(0xc080a470))
.unwrap();
let init_task_sym = symbolized.into_sym().unwrap();
assert_eq!(init_task_sym.name, "init_task");
assert_eq!(init_task_sym.code_info, None);
}

/// Test symbolization of a kernel address inside a BPF program.
#[cfg(linux)]
#[test]
Expand Down

0 comments on commit aab6e5b

Please sign in to comment.