Remove println import, added code comments and re-added patch_map_data (removed by mistake)

pull/968/head
martinsoees 3 months ago
parent 3525560c4a
commit 5276a91846

@ -416,20 +416,6 @@ impl Btf {
self.string_at(ty.name_offset()).ok().map(String::from) self.string_at(ty.name_offset()).ok().map(String::from)
} }
/// Returns a type id matching the type name
pub fn id_by_type_name(&self, name: &str) -> Result<u32, BtfError> {
for (type_id, ty) in self.types().enumerate() {
if self.type_name(ty)? == name {
return Ok(type_id as u32);
}
continue;
}
Err(BtfError::UnknownBtfTypeName {
type_name: name.to_owned(),
})
}
/// Returns a type id matching the type name and [BtfKind] /// Returns a type id matching the type name and [BtfKind]
pub fn id_by_type_name_kind(&self, name: &str, kind: BtfKind) -> Result<u32, BtfError> { pub fn id_by_type_name_kind(&self, name: &str, kind: BtfKind) -> Result<u32, BtfError> {
for (type_id, ty) in self.types().enumerate() { for (type_id, ty) in self.types().enumerate() {

@ -8,7 +8,6 @@ use alloc::{
vec::Vec, vec::Vec,
}; };
use core::{ffi::CStr, mem, ptr, slice::from_raw_parts_mut, str::FromStr}; use core::{ffi::CStr, mem, ptr, slice::from_raw_parts_mut, str::FromStr};
use std::println;
use log::debug; use log::debug;
use object::{ use object::{

@ -2,7 +2,6 @@
use alloc::{borrow::ToOwned, collections::BTreeMap, string::String}; use alloc::{borrow::ToOwned, collections::BTreeMap, string::String};
use core::mem; use core::mem;
use std::println;
use log::debug; use log::debug;
use object::{SectionIndex, SymbolKind}; use object::{SectionIndex, SymbolKind};
@ -116,7 +115,7 @@ impl Object {
let mut ignored_by_section = HashSet::new(); let mut ignored_by_section = HashSet::new();
let mut ignored_by_symbol = HashSet::new(); let mut ignored_by_symbol = HashSet::new();
for (name, map) in ignored_maps { for map in ignored_maps.values() {
ignored_by_section.insert(map.section_index()); ignored_by_section.insert(map.section_index());
if let Some(index) = map.symbol_index() { if let Some(index) = map.symbol_index() {
ignored_by_symbol.insert(index); ignored_by_symbol.insert(index);

@ -3,7 +3,7 @@ use std::{
collections::{HashMap, HashSet}, collections::{HashMap, HashSet},
fs, io, fs, io,
os::{ os::{
fd::{AsFd as _, AsRawFd as _, FromRawFd, OwnedFd}, fd::{AsFd as _, AsRawFd as _, OwnedFd},
raw::c_int, raw::c_int,
}, },
path::{Path, PathBuf}, path::{Path, PathBuf},
@ -24,7 +24,7 @@ use crate::{
bpf_map_type::{self, *}, AYA_PERF_EVENT_IOC_DISABLE, AYA_PERF_EVENT_IOC_ENABLE, bpf_map_type::{self, *}, AYA_PERF_EVENT_IOC_DISABLE, AYA_PERF_EVENT_IOC_ENABLE,
AYA_PERF_EVENT_IOC_SET_BPF, AYA_PERF_EVENT_IOC_SET_BPF,
}, },
maps::{Map, MapData, MapError, MapFd}, maps::{Map, MapData, MapError},
obj::{ obj::{
btf::{Btf, BtfError}, btf::{Btf, BtfError},
Object, ParseError, ProgramSection, Object, ParseError, ProgramSection,
@ -237,7 +237,7 @@ impl<'a> EbpfLoader<'a> {
/// ///
/// ```no_run /// ```no_run
/// use aya::EbpfLoader; /// use aya::EbpfLoader;
/// use aya_obj::btf::Btf::bpf_map_type; /// use aya_obj::generated::bpf_map_type;
/// ///
/// let mut set = HashSet::new(); /// let mut set = HashSet::new();
/// set.insert(bpf_map_type::BPF_MAP_TYPE_RINGBUF); /// set.insert(bpf_map_type::BPF_MAP_TYPE_RINGBUF);
@ -425,6 +425,7 @@ impl<'a> EbpfLoader<'a> {
deactivate_maps, deactivate_maps,
} = self; } = self;
let mut obj = Object::parse(data)?; let mut obj = Object::parse(data)?;
obj.patch_map_data(globals.clone())?;
let btf_fd = if let Some(features) = &FEATURES.btf() { let btf_fd = if let Some(features) = &FEATURES.btf() {
if let Some(btf) = obj.fixup_and_sanitize_btf(features)? { if let Some(btf) = obj.fixup_and_sanitize_btf(features)? {
@ -495,9 +496,12 @@ impl<'a> EbpfLoader<'a> {
{ {
continue; continue;
} }
let map_type: bpf_map_type = obj.map_type().try_into().map_err(MapError::from)?;
if deactivate_maps.contains(&obj.map_type().try_into().map_err(|_| EbpfError::MapError(MapError::InvalidMapType { map_type: obj.map_type() }))?) { if deactivate_maps.contains(&map_type) {
ignored_maps.insert(name, obj); ignored_maps.insert(name, obj);
// ignore map creation. The map is saved in `ignored_maps` and filtered out
// in `relocate_maps()` later on
continue; continue;
} }
@ -509,7 +513,6 @@ impl<'a> EbpfLoader<'a> {
})? })?
.len() as u32) .len() as u32)
}; };
let map_type: bpf_map_type = obj.map_type().try_into().map_err(MapError::from)?;
if let Some(max_entries) = max_entries_override( if let Some(max_entries) = max_entries_override(
map_type, map_type,
max_entries.get(name.as_str()).copied(), max_entries.get(name.as_str()).copied(),

Loading…
Cancel
Save