diff --git a/aya/src/sys/bpf.rs b/aya/src/sys/bpf.rs index 0bbdf943..1b486840 100644 --- a/aya/src/sys/bpf.rs +++ b/aya/src/sys/bpf.rs @@ -32,6 +32,8 @@ use crate::{ Btf, Pod, BPF_OBJ_NAME_LEN, }; +type Result = std::result::Result; + pub(crate) fn bpf_create_map(name: &CStr, def: &obj::Map, btf_fd: Option) -> SysResult { let mut attr = unsafe { mem::zeroed::() }; @@ -193,7 +195,7 @@ fn lookup( key: Option<&K>, flags: u64, cmd: bpf_cmd, -) -> Result, (c_long, io::Error)> { +) -> Result> { let mut attr = unsafe { mem::zeroed::() }; let mut value = MaybeUninit::zeroed(); @@ -216,7 +218,7 @@ pub(crate) fn bpf_map_lookup_elem( fd: RawFd, key: &K, flags: u64, -) -> Result, (c_long, io::Error)> { +) -> Result> { lookup(fd, Some(key), flags, bpf_cmd::BPF_MAP_LOOKUP_ELEM) } @@ -224,7 +226,7 @@ pub(crate) fn bpf_map_lookup_and_delete_elem( fd: RawFd, key: Option<&K>, flags: u64, -) -> Result, (c_long, io::Error)> { +) -> Result> { lookup(fd, key, flags, bpf_cmd::BPF_MAP_LOOKUP_AND_DELETE_ELEM) } @@ -232,7 +234,7 @@ pub(crate) fn bpf_map_lookup_elem_per_cpu( fd: RawFd, key: &K, flags: u64, -) -> Result>, (c_long, io::Error)> { +) -> Result>> { let mut mem = PerCpuValues::::alloc_kernel_mem().map_err(|io_error| (-1, io_error))?; match bpf_map_lookup_elem_ptr(fd, Some(key), mem.as_mut_ptr(), flags) { Ok(_) => Ok(Some(unsafe { PerCpuValues::from_kernel_mem(mem) })), @@ -246,7 +248,7 @@ pub(crate) fn bpf_map_lookup_elem_ptr( key: Option<&K>, value: *mut V, flags: u64, -) -> Result, (c_long, io::Error)> { +) -> Result> { let mut attr = unsafe { mem::zeroed::() }; let u = unsafe { &mut attr.__bindgen_anon_2 }; @@ -331,10 +333,7 @@ pub(crate) fn bpf_map_delete_elem(fd: RawFd, key: &K) -> SysResult { sys_bpf(bpf_cmd::BPF_MAP_DELETE_ELEM, &attr) } -pub(crate) fn bpf_map_get_next_key( - fd: RawFd, - key: Option<&K>, -) -> Result, (c_long, io::Error)> { +pub(crate) fn bpf_map_get_next_key(fd: RawFd, key: Option<&K>) -> Result> { let mut attr = unsafe { mem::zeroed::() }; let mut next_key = MaybeUninit::uninit(); @@ -457,7 +456,7 @@ pub(crate) fn bpf_prog_query( ret } -pub(crate) fn bpf_prog_get_fd_by_id(prog_id: u32) -> Result { +pub(crate) fn bpf_prog_get_fd_by_id(prog_id: u32) -> io::Result { let mut attr = unsafe { mem::zeroed::() }; attr.__bindgen_anon_6.__bindgen_anon_1.prog_id = prog_id; @@ -468,7 +467,7 @@ pub(crate) fn bpf_prog_get_fd_by_id(prog_id: u32) -> Result { } } -pub(crate) fn bpf_prog_get_info_by_fd(prog_fd: RawFd) -> Result { +pub(crate) fn bpf_prog_get_info_by_fd(prog_fd: RawFd) -> io::Result { let mut attr = unsafe { mem::zeroed::() }; // info gets entirely populated by the kernel let info = MaybeUninit::zeroed(); @@ -483,7 +482,7 @@ pub(crate) fn bpf_prog_get_info_by_fd(prog_fd: RawFd) -> Result Result { +pub(crate) fn bpf_map_get_info_by_fd(prog_fd: RawFd) -> io::Result { let mut attr = unsafe { mem::zeroed::() }; // info gets entirely populated by the kernel let info = MaybeUninit::zeroed(); @@ -498,7 +497,7 @@ pub(crate) fn bpf_map_get_info_by_fd(prog_fd: RawFd) -> Result Result { +pub(crate) fn bpf_link_get_info_by_fd(link_fd: RawFd) -> io::Result { let mut attr = unsafe { mem::zeroed::() }; // info gets entirely populated by the kernel let info = unsafe { MaybeUninit::zeroed().assume_init() }; @@ -513,10 +512,7 @@ pub(crate) fn bpf_link_get_info_by_fd(link_fd: RawFd) -> Result Result { +pub(crate) fn btf_obj_get_info_by_fd(prog_fd: RawFd, buf: &mut [u8]) -> io::Result { let mut attr = unsafe { mem::zeroed::() }; let mut info = unsafe { mem::zeroed::() }; let buf_size = buf.len() as u32; @@ -558,7 +554,7 @@ pub(crate) fn bpf_load_btf(raw_btf: &[u8], log: &mut VerifierLog) -> SysResult { sys_bpf(bpf_cmd::BPF_BTF_LOAD, &attr) } -pub(crate) fn bpf_btf_get_fd_by_id(id: u32) -> Result { +pub(crate) fn bpf_btf_get_fd_by_id(id: u32) -> io::Result { let mut attr = unsafe { mem::zeroed::() }; attr.__bindgen_anon_6.__bindgen_anon_1.btf_id = id; @@ -975,7 +971,7 @@ pub fn sys_bpf(cmd: bpf_cmd, attr: &bpf_attr) -> SysResult { syscall(Syscall::Bpf { cmd, attr }) } -pub(crate) fn bpf_prog_get_next_id(id: u32) -> Result, (c_long, io::Error)> { +pub(crate) fn bpf_prog_get_next_id(id: u32) -> Result> { let mut attr = unsafe { mem::zeroed::() }; let u = unsafe { &mut attr.__bindgen_anon_6 }; u.__bindgen_anon_1.start_id = id;