From 374e716c7ce29304b05b59adcb0360b3942bb4c7 Mon Sep 17 00:00:00 2001 From: Andrei Vagin Date: Tue, 15 Nov 2022 14:46:27 -0800 Subject: [PATCH] AddSeals has to take the write lock to modify seals Reported-by: syzbot+355993d42d99b011ea73@syzkaller.appspotmail.com Reported-by: syzbot+f758f7983773e0a60c7b@syzkaller.appspotmail.com PiperOrigin-RevId: 488764524 --- pkg/sentry/fsimpl/tmpfs/regular_file.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/sentry/fsimpl/tmpfs/regular_file.go b/pkg/sentry/fsimpl/tmpfs/regular_file.go index 71fb9d203..2efb57102 100644 --- a/pkg/sentry/fsimpl/tmpfs/regular_file.go +++ b/pkg/sentry/fsimpl/tmpfs/regular_file.go @@ -778,8 +778,8 @@ func AddSeals(fd *vfs.FileDescription, val uint32) error { rf := f.inode().impl.(*regularFile) rf.mapsMu.Lock() defer rf.mapsMu.Unlock() - rf.dataMu.RLock() - defer rf.dataMu.RUnlock() + rf.dataMu.Lock() + defer rf.dataMu.Unlock() if rf.seals&linux.F_SEAL_SEAL != 0 { // Seal applied which prevents addition of any new seals.