diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-09-09 01:35:55 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-09-09 01:35:55 +0000 |
commit | fe97f9816075b6b9ed6537c4cf403bb898f7952a (patch) | |
tree | 2657ae22c2ea9f57fa6bca5eb55c17c941b13f53 /pkg/sentry/fsimpl/kernfs/filesystem.go | |
parent | 3b05cf548590cec6acd4f63fe7fdcdb00fba9e79 (diff) | |
parent | 8d3551da6a41c30fa9c04a5b0cef712c089d5d04 (diff) |
Merge release-20200818.0-137-g8d3551da6 (automated)
Diffstat (limited to 'pkg/sentry/fsimpl/kernfs/filesystem.go')
-rw-r--r-- | pkg/sentry/fsimpl/kernfs/filesystem.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pkg/sentry/fsimpl/kernfs/filesystem.go b/pkg/sentry/fsimpl/kernfs/filesystem.go index c428053e8..d7d3e8f48 100644 --- a/pkg/sentry/fsimpl/kernfs/filesystem.go +++ b/pkg/sentry/fsimpl/kernfs/filesystem.go @@ -360,7 +360,10 @@ func (fs *Filesystem) MkdirAt(ctx context.Context, rp *vfs.ResolvingPath, opts v defer rp.Mount().EndWrite() childVFSD, err := parentInode.NewDir(ctx, pc, opts) if err != nil { - return err + if !opts.ForSyntheticMountpoint || err == syserror.EEXIST { + return err + } + childVFSD = newSyntheticDirectory(rp.Credentials(), opts.Mode) } parentVFSD.Impl().(*Dentry).InsertChild(pc, childVFSD.Impl().(*Dentry)) return nil |