kmod-loader 0.2.0

Rust implementation of Linux kernel module loader for loadable kernel module development
Documentation
# kmod-loader

Rust内核模块动态加载库,支持ELF格式的内核模块加载和执行。

## 功能

- **ELF解析** - 使用goblin库解析ELF格式的模块文件
- **动态加载** - 分配内存、加载段、处理重定位
- **符号解析** - 解决内核符号和模块内部符号引用
- **权限管理** - 为不同段设置读、写、执行权限
- **多架构支持** - 支持x86_64、riscv64、aarch64等架构

## 核心组件

- **ModuleLoader** - 负责解析和加载ELF模块
- **ModuleOwner** - 封装已加载的模块,管理其生命周期
- **KernelModuleHelper** - 用户实现的辅助函数接口(符号解析、内存分配等)
- **SectionMemOps** - 内存段操作接口

## 使用示例

```rust
use kmod_loader::{ModuleLoader, KernelModuleHelper, ModuleOwner};

struct MyHelper;

impl KernelModuleHelper for MyHelper {
    fn vmalloc(size: usize) -> Box<dyn SectionMemOps> {
        // 分配内存
    }
    
    fn resolve_symbol(name: &str) -> Option<usize> {
        // 解析符号地址
    }
}

// 加载模块
let mut loader = ModuleLoader::<MyHelper>::new(elf_data)?;
let mut module = loader.load_module(args)?;

// 调用初始化函数
module.call_init()?;

// 调用退出函数
module.call_exit();
```