summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRahat Mahmood <rahat@google.com>2021-04-12 15:10:19 -0700
committergVisor bot <gvisor-bot@google.com>2021-04-12 15:12:52 -0700
commitf4f6ce337aa8ceb46a5a8f783efb770c9a8a2858 (patch)
treefa83751227b9275b0407df9f3ec4c8145d4fd982
parent982fc8b5765795493c25f07d5f86c20a4fc940c1 (diff)
Don't grab TaskSet mu recursively when reading task state.
Reported-by: syzbot+a6ef0f95a2c9e7da26f3@syzkaller.appspotmail.com Reported-by: syzbot+2eaf8a9f115edec468fe@syzkaller.appspotmail.com PiperOrigin-RevId: 368093861
-rw-r--r--pkg/sentry/kernel/kernel.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkg/sentry/kernel/kernel.go b/pkg/sentry/kernel/kernel.go
index 9a4fd64cb..e6e9da898 100644
--- a/pkg/sentry/kernel/kernel.go
+++ b/pkg/sentry/kernel/kernel.go
@@ -1854,7 +1854,7 @@ func (k *Kernel) Release() {
func (k *Kernel) PopulateNewCgroupHierarchy(root Cgroup) {
k.tasks.mu.RLock()
k.tasks.forEachTaskLocked(func(t *Task) {
- if t.ExitState() != TaskExitNone {
+ if t.exitState != TaskExitNone {
return
}
t.mu.Lock()
@@ -1870,7 +1870,7 @@ func (k *Kernel) PopulateNewCgroupHierarchy(root Cgroup) {
func (k *Kernel) ReleaseCgroupHierarchy(hid uint32) {
k.tasks.mu.RLock()
k.tasks.forEachTaskLocked(func(t *Task) {
- if t.ExitState() != TaskExitNone {
+ if t.exitState != TaskExitNone {
return
}
t.mu.Lock()