Commit Graph

4 Commits

Author SHA1 Message Date
LoGin d93301b512
feat: 实现基于异常表的安全用户空间内存访问机制 (#1383)
* feat: 实现基于异常表的安全用户空间内存访问机制

- 新增异常表机制,在系统调用中安全处理用户空间内存访问错误
- 实现带异常表保护的memcpy和memset函数,防止无效用户地址导致内核在内存拷贝处以及pagefault处理程序之间反复横跳
- 重构用户空间访问API,提供安全的UserBuffer包装类型
- 更新页错误处理程序,支持异常表修复路径
- 添加异常表测试程序,验证各种边界情况
- 更新内存管理文档,详细说明异常表设计原理和使用场景

Signed-off-by: longjin <longjin@DragonOS.org>

* chore: 更新应用黑名单配置

- 添加 test_ebpf_new, test_ebpf_tp 到黑名单,原因:aya上游发版问题导致CI失败

Signed-off-by: longjin <longjin@DragonOS.org>

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-18 21:02:07 +08:00
Shenjie Yang 8d5ae2f9c6
fix: 更新Makefile指定的Rust工具链为nightly-2025-08-10 (#1328)
* fix: 更新一些makefile中指定的工具链

* fix: 添加novashell到app-blocklist.toml

* fix: 修改nix-dev-shell指定的rust工具链版本号为2025-08-10

* fix: 更新enable_compile_gvisor.sh,避免对其他blocked_app的意外注释

Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>

---------

Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
Co-authored-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
2025-11-01 15:39:46 +08:00
LoGin e1db32e669
feat: add gvisor syscall test (#1271)
* feat(tests): 添加gvisor系统调用测试套件

新增gvisor系统调用测试框架,包含Makefile、运行脚本、文档和测试用例。调整rootfs镜像大小为2G以适应测试需求。

Signed-off-by: longjin <longjin@DragonOS.org>

* feat(gvisor): 重构测试运行器为Rust实现并添加DADK支持

- 将Shell脚本实现的测试运行器重写为Rust版本
- 添加DADK构建配置文件以支持DragonOS应用开发工具链
- 更新Makefile以支持Rust工具链和DADK安装目标
- 增强下载脚本功能,支持跳过已存在测试套件和强制下载选项
- 移除原有的run_tests.sh脚本,替换为更高效的Rust实现

Signed-off-by: longjin <longjin@DragonOS.org>

* feat(config): 添加应用程序黑名单功能

- 新增 app-blocklist.toml 配置文件模板,支持多种应用程序匹配方式
- 支持严格模式和非严格模式配置
- 添加黑名单配置文件路径到 dadk-manifest.toml
- 提供详细的配置说明和示例

Signed-off-by: longjin <longjin@DragonOS.org>

* docs: 更新gVisor系统调用测试文档

- 新增gVisor系统调用测试文档,包含概述、快速开始和测试机制说明
- 删除旧的测试运行器README文档

Signed-off-by: longjin <longjin@DragonOS.org>

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2025-09-24 16:26:06 +08:00
LoGin e8b1db320d
chore: Bump dadk to 0.2.0 (#1058)
# 概述

把dadk版本升级到0.2.0

dadk 0.2.0能够提升编译速度,并且支持使用dadk对内核进行profiling。
新版dadk的文档: https://docs.dragonos.org.cn/p/dadk/

# 注意

这是一个breaking change,升级后,将无法使用dadk 0.2.0去编译旧的项目。如有需要,请手动降级到dadk 0.1.11:
```shell
cargo install --git  https://git.mirrors.dragonos.org.cn/DragonOS-Community/DADK --tag v0.1.11
```

# 更改列表

* chore: 把管理用户程序编译的dadk配置文件改为新格式的

* feat: 使用新版dadk来创建\挂载\卸载磁盘镜像

* chore: bump dadk min version to 0.2.0

* chore: fix ci

* chore: 更新github ci镜像到1.7

* doc: 添加文档

---------
Co-Authored-by: xuzihao <xuzihao@dragonos.org>
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-27 01:30:31 +08:00