DragonOS/kernel
LoGin a8d78be4c4
feat(mm,procfs): 添加/proc/<pid>/maps文件支持并改进缺页异常处理 (#1468)
* fix(interrupt): 修正缺页异常处理中的用户态判断逻辑

- 优先使用TrapFrame和错误码判断访问发起者,而非仅依赖地址范围
- 避免用户态访问高地址区域时触发内核panic,改为产生SIGSEGV
- 确保内核态访问用户地址时能正确走用户态fault处理路径

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

* fix(time): 修复 sys_gettimeofday 用户空间访问保护

- 重构 sys_gettimeofday 系统调用处理逻辑,使用 buffer_protected 保护用户空间访问
- 修复 tv 和 timezone 指针为空时的处理逻辑,避免空指针错误
- 根据调用来源(用户/内核)动态设置用户空间访问保护标志

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

* feat(procfs): 添加/proc/<pid>/maps文件支持

- 新增proc_maps模块,实现/proc/<pid>/maps文件的生成逻辑
- 在ProcFS中注册maps文件,支持进程文件夹的创建和清理
- 更新gvisor测试白名单,添加time_test

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

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-15 14:43:39 +08:00
..
.cargo fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。 (#870) 2024-07-27 17:34:05 +08:00
crates fix: 修复slab分配器迭代器越界访问和并发安全问题 (#1464) 2025-12-15 00:42:59 +08:00
src feat(mm,procfs): 添加/proc/<pid>/maps文件支持并改进缺页异常处理 (#1468) 2025-12-15 14:43:39 +08:00
submodules riscv: 完成UEFI初始化,能正确设置memblock的信息 (#501) 2024-01-26 18:08:39 +08:00
.clippy.toml fix: 检查栈帧大小 (#1126) 2025-05-26 17:33:25 +08:00
.gitignore fix:Fix related issues with kexec (pr # 1303) code (#1339) 2025-11-10 13:31:10 +08:00
Cargo.lock doc: add 0.3.0 release log (#1389) 2025-11-20 00:58:06 +08:00
Cargo.toml doc: add 0.3.0 release log (#1389) 2025-11-20 00:58:06 +08:00
Makefile refactor: Add system call number to name conversion (#1279) 2025-09-16 01:48:40 +08:00
build.rs fix:Fix related issues with kexec (pr # 1303) code (#1339) 2025-11-10 13:31:10 +08:00
env.mk feat: la64 boot (#1132) 2025-04-20 18:51:45 +08:00
rust-toolchain.toml chore: Upgrade kernel toolchain to 250810 (#1257) 2025-08-18 13:25:19 +08:00