Skip to content

feat(mm,procfs): 添加/proc/<pid>/maps文件支持并改进缺页异常处理#1468

Merged
fslongjin merged 4 commits intoDragonOS-Community:masterfrom
fslongjin:fix-time-test
Dec 15, 2025
Merged

feat(mm,procfs): 添加/proc/<pid>/maps文件支持并改进缺页异常处理#1468
fslongjin merged 4 commits intoDragonOS-Community:masterfrom
fslongjin:fix-time-test

Conversation

@fslongjin
Copy link
Member

  • 新增/proc//maps文件实现,支持显示进程内存映射信息
  • 改进缺页异常处理逻辑,优先根据TrapFrame/错误码判断用户态访问
  • 修复sys_gettimeofday系统调用中用户空间缓冲区访问保护问题
  • 在gvisor测试白名单中添加time_test

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

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

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

Signed-off-by: longjin <longjin@DragonOS.org>
@fslongjin fslongjin merged commit a8d78be into DragonOS-Community:master Dec 15, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant