diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-06-23 23:17:59 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-06-23 23:17:59 +0000 |
commit | 6cc57634d5e59f821092d562b3695af94182b2df (patch) | |
tree | a88a24d733aeda2dad17a24fb495d9ec1bf28426 /pkg/sentry/fsimpl/tmpfs/directory.go | |
parent | bb7e27b64dd2197bdf3ecc96c669f6b60db9197c (diff) | |
parent | 0c628c3152a727fff287a98897d83ee45ad990e5 (diff) |
Merge release-20200608.0-112-g0c628c315 (automated)
Diffstat (limited to 'pkg/sentry/fsimpl/tmpfs/directory.go')
-rw-r--r-- | pkg/sentry/fsimpl/tmpfs/directory.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pkg/sentry/fsimpl/tmpfs/directory.go b/pkg/sentry/fsimpl/tmpfs/directory.go index 913b8a6c5..b172abc15 100644 --- a/pkg/sentry/fsimpl/tmpfs/directory.go +++ b/pkg/sentry/fsimpl/tmpfs/directory.go @@ -79,7 +79,6 @@ func (dir *directory) removeChildLocked(child *dentry) { dir.iterMu.Lock() dir.childList.Remove(child) dir.iterMu.Unlock() - child.unlinked = true } type directoryFD struct { @@ -107,13 +106,14 @@ func (fd *directoryFD) IterDirents(ctx context.Context, cb vfs.IterDirentsCallba fs := fd.filesystem() dir := fd.inode().impl.(*directory) + defer fd.dentry().InotifyWithParent(linux.IN_ACCESS, 0, vfs.PathEvent) + // fs.mu is required to read d.parent and dentry.name. fs.mu.RLock() defer fs.mu.RUnlock() dir.iterMu.Lock() defer dir.iterMu.Unlock() - fd.dentry().InotifyWithParent(linux.IN_ACCESS, 0, vfs.PathEvent) fd.inode().touchAtime(fd.vfsfd.Mount()) if fd.off == 0 { |