INNER CODE UNIT · Rust
load_module
KernelSU-Next/KernelSU-Next · userspace/ksuinit/src/lib.rs:317
pub fn load_module(data: &[u8], params: &CStr) -> Result<()> {
let mut buffer = data.to_vec();
let elf = Elf::parse(&buffer)?;
let ctx = *elf.syms.ctx();
let mut unresolved_symbols: HashMap<String, (Sym, usize)> = HashMap::new();
for (index, sym) in elf.syms.iter().enumerate() {
if index == 0 {
continue;
}
if sym.st_shndx != section_header::SHN_UNDEF as usize {
continue;
}
let Some(name) = elf.strtab.get_at(sym.st_name) else {
continue;
};