Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • O OSKernel2026-StellaOS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • StellaOS
  • OSKernel2026-StellaOS
  • Merge requests
  • !30

fix:1. 信号传递问题:fork 后子进程 COW 写触发页错误,handler 里发现不是 COW 区域就发 SIGSEGV

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged StellaOS requested to merge fix_makefile1 into main Jun 02, 2026
  • Overview 0
  • Commits 6
  • Pipelines 0
  • Changes 66

给当前任务。但原来 add_signal_to_current 只写到 task 级别的 pending,调度检查信号时却读的是 process 级别的 signals,信号根本没被检查到,任务就一直重试页错误→死循环。修法是让 add_signal_to_current 同时同步到 process 的 SignalFlags,这样 check_signals 能发现并杀掉进程。 2. 用户栈布局问题:exec 构建用户栈时原来用 max_virt_mem + PAGE_SIZE 作为栈顶,但 max_virt_mem 已经指向了最后一个段末尾(也就是用户栈应该开始的位置),再加 PAGE_SIZE 就把栈放在了空白区域之外,导致缺页拿到的是 COW 共享帧而非独立帧。改为直接用 max_virt_mem 就修好了。

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix_makefile1