google / google/gvisor

/proc/[pid]/status is missing the signal mask lines

Open
#14,500 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
19.3k
Forks
2k
Avg merge
3d 5h
Merged PRs (30d)
264

Description

runsc leaves SigPnd, ShdPnd, SigBlk, SigIgn and SigCgt out of /proc/[pid]/status. The file jumps from Threads straight to CapInh, so nothing reading procfs can tell whether a process handles a given signal. Linux prints all five between those two lines, in fs/proc/array.c task_sig().

Grep finds no SigCgt line:

```
$ runsc do /bin/grep -c ^SigCgt /proc/self/status
0
```

Proposed fix in #14499.

Contributor guide

Open the contributing guide

Research direction

Start by locating gVisor's procfs implementation for /proc/[pid]/status and compare its output with Linux's task_sig() in fs/proc/array.c. Run the reported runsc grep command and verify that SigPnd, ShdPnd, SigBlk, SigIgn, and SigCgt appear between Threads and CapInh.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux
Domain
operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.