Remove verifier log special case

reviewable/pr643/r1
Tamir Duberstein 1 year ago
parent 4c0983bca9
commit b5ebcb7cc5
No known key found for this signature in database

@ -135,7 +135,7 @@ pub enum BtfError {
#[source] #[source]
io_error: std::io::Error, io_error: std::io::Error,
/// The error log produced by the kernel verifier. /// The error log produced by the kernel verifier.
verifier_log: Cow<'static, str>, verifier_log: String,
}, },
/// offset not found for symbol /// offset not found for symbol

@ -67,7 +67,6 @@ pub mod xdp;
use libc::ENOSPC; use libc::ENOSPC;
use procfs::KernelVersion; use procfs::KernelVersion;
use std::{ use std::{
borrow::Cow,
ffi::CString, ffi::CString,
io, io,
os::unix::io::{AsRawFd, RawFd}, os::unix::io::{AsRawFd, RawFd},
@ -143,7 +142,7 @@ pub enum ProgramError {
#[source] #[source]
io_error: io::Error, io_error: io::Error,
/// The error log produced by the kernel verifier. /// The error log produced by the kernel verifier.
verifier_log: Cow<'static, str>, verifier_log: String,
}, },
/// A syscall failed. /// A syscall failed.

@ -1,5 +1,4 @@
use std::{ use std::{
borrow::Cow,
cmp::{self, min}, cmp::{self, min},
ffi::{CStr, CString}, ffi::{CStr, CString},
io, io,
@ -993,13 +992,10 @@ pub(crate) fn bpf_prog_get_next_id(id: u32) -> Result<Option<u32>, (c_long, io::
} }
} }
pub(crate) fn retry_with_verifier_logs<F>( pub(crate) fn retry_with_verifier_logs(
max_retries: usize, max_retries: usize,
f: F, f: impl Fn(&mut [u8]) -> SysResult,
) -> (SysResult, Cow<'static, str>) ) -> (SysResult, String) {
where
F: Fn(&mut [u8]) -> SysResult,
{
const MIN_LOG_BUF_SIZE: usize = 1024 * 10; const MIN_LOG_BUF_SIZE: usize = 1024 * 10;
const MAX_LOG_BUF_SIZE: usize = (std::u32::MAX >> 8) as usize; const MAX_LOG_BUF_SIZE: usize = (std::u32::MAX >> 8) as usize;
@ -1023,11 +1019,7 @@ where
if let Some(pos) = log_buf.iter().position(|b| *b == 0) { if let Some(pos) = log_buf.iter().position(|b| *b == 0) {
log_buf.truncate(pos); log_buf.truncate(pos);
} }
let log_buf = if log_buf.is_empty() { let log_buf = String::from_utf8(log_buf).unwrap();
"none".into()
} else {
String::from_utf8(log_buf).unwrap().into()
};
break (ret, log_buf); break (ret, log_buf);
} }

Loading…
Cancel
Save