From ab442eb10f51efd94eb0236114bf28c026816c20 Mon Sep 17 00:00:00 2001 From: Michal Rostecki Date: Tue, 20 Sep 2022 11:22:10 +0200 Subject: [PATCH] Don't fail on `BpfLogger::init()` error An error during `BpfLogger` initialization most likely means that `ayalog-ebpf` is not used in the eBPF crate. Signed-off-by: Michal Rostecki --- {{project-name}}/src/main.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/{{project-name}}/src/main.rs b/{{project-name}}/src/main.rs index ed1e90d..a16a6ef 100644 --- a/{{project-name}}/src/main.rs +++ b/{{project-name}}/src/main.rs @@ -38,7 +38,7 @@ use aya::programs::SocketFilter; {%- endcase %} use aya_log::BpfLogger; use clap::Parser; -use log::info; +use log::{info, warn}; use tokio::signal; #[derive(Debug, Parser)] @@ -73,7 +73,10 @@ async fn main() -> Result<(), anyhow::Error> { let mut bpf = Bpf::load(include_bytes_aligned!( "../../target/bpfel-unknown-none/release/{{project-name}}" ))?; - BpfLogger::init(&mut bpf)?; + if let Err(e) = BpfLogger::init(&mut bpf) { + // This can happen if you remove all log statements from your eBPF program. + warn!("failed to initialize eBPF logger: {}", e); + } {% case program_type -%} {%- when "kprobe", "kretprobe" -%} let program: &mut KProbe = bpf.program_mut("{{crate_name}}").unwrap().try_into()?;