diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-04-21 17:47:50 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-04-21 17:47:50 +0000 |
commit | 1b4035afb3411e3daa51e6ef123630e1d24d6341 (patch) | |
tree | 762633005c8ce0861e564914c53bf6bcab32f94a /pkg/sentry/vfs/vfs.go | |
parent | 03fd0836497d44a69439b8114eb2663ebf782040 (diff) | |
parent | c2955339d86437981ce53d2971ce83479ef94028 (diff) |
Merge release-20210419.0-12-gc2955339d (automated)
Diffstat (limited to 'pkg/sentry/vfs/vfs.go')
-rw-r--r-- | pkg/sentry/vfs/vfs.go | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/pkg/sentry/vfs/vfs.go b/pkg/sentry/vfs/vfs.go index 8b392232a..00f1847d8 100644 --- a/pkg/sentry/vfs/vfs.go +++ b/pkg/sentry/vfs/vfs.go @@ -208,11 +208,11 @@ func (vfs *VirtualFilesystem) AccessAt(ctx context.Context, creds *auth.Credenti for { err := rp.mount.fs.impl.AccessAt(ctx, rp, creds, ats) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -230,11 +230,11 @@ func (vfs *VirtualFilesystem) GetDentryAt(ctx context.Context, creds *auth.Crede dentry: d, } rp.mount.IncRef() - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return vd, nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return VirtualDentry{}, err } } @@ -252,7 +252,7 @@ func (vfs *VirtualFilesystem) getParentDirAndName(ctx context.Context, creds *au } rp.mount.IncRef() name := rp.Component() - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return parentVD, name, nil } if checkInvariants { @@ -261,7 +261,7 @@ func (vfs *VirtualFilesystem) getParentDirAndName(ctx context.Context, creds *au } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return VirtualDentry{}, "", err } } @@ -292,7 +292,7 @@ func (vfs *VirtualFilesystem) LinkAt(ctx context.Context, creds *auth.Credential for { err := rp.mount.fs.impl.LinkAt(ctx, rp, oldVD) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) oldVD.DecRef(ctx) return nil } @@ -302,7 +302,7 @@ func (vfs *VirtualFilesystem) LinkAt(ctx context.Context, creds *auth.Credential } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) oldVD.DecRef(ctx) return err } @@ -331,7 +331,7 @@ func (vfs *VirtualFilesystem) MkdirAt(ctx context.Context, creds *auth.Credentia for { err := rp.mount.fs.impl.MkdirAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if checkInvariants { @@ -340,7 +340,7 @@ func (vfs *VirtualFilesystem) MkdirAt(ctx context.Context, creds *auth.Credentia } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -366,7 +366,7 @@ func (vfs *VirtualFilesystem) MknodAt(ctx context.Context, creds *auth.Credentia for { err := rp.mount.fs.impl.MknodAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if checkInvariants { @@ -375,7 +375,7 @@ func (vfs *VirtualFilesystem) MknodAt(ctx context.Context, creds *auth.Credentia } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -444,7 +444,7 @@ func (vfs *VirtualFilesystem) OpenAt(ctx context.Context, creds *auth.Credential for { fd, err := rp.mount.fs.impl.OpenAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) if opts.FileExec { if fd.Mount().Flags.NoExec { @@ -468,7 +468,7 @@ func (vfs *VirtualFilesystem) OpenAt(ctx context.Context, creds *auth.Credential return fd, nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil, err } } @@ -480,11 +480,11 @@ func (vfs *VirtualFilesystem) ReadlinkAt(ctx context.Context, creds *auth.Creden for { target, err := rp.mount.fs.impl.ReadlinkAt(ctx, rp) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return target, nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return "", err } } @@ -533,7 +533,7 @@ func (vfs *VirtualFilesystem) RenameAt(ctx context.Context, creds *auth.Credenti for { err := rp.mount.fs.impl.RenameAt(ctx, rp, oldParentVD, oldName, renameOpts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) oldParentVD.DecRef(ctx) return nil } @@ -543,7 +543,7 @@ func (vfs *VirtualFilesystem) RenameAt(ctx context.Context, creds *auth.Credenti } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) oldParentVD.DecRef(ctx) return err } @@ -569,7 +569,7 @@ func (vfs *VirtualFilesystem) RmdirAt(ctx context.Context, creds *auth.Credentia for { err := rp.mount.fs.impl.RmdirAt(ctx, rp) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if checkInvariants { @@ -578,7 +578,7 @@ func (vfs *VirtualFilesystem) RmdirAt(ctx context.Context, creds *auth.Credentia } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -590,11 +590,11 @@ func (vfs *VirtualFilesystem) SetStatAt(ctx context.Context, creds *auth.Credent for { err := rp.mount.fs.impl.SetStatAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -606,11 +606,11 @@ func (vfs *VirtualFilesystem) StatAt(ctx context.Context, creds *auth.Credential for { stat, err := rp.mount.fs.impl.StatAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return stat, nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return linux.Statx{}, err } } @@ -623,11 +623,11 @@ func (vfs *VirtualFilesystem) StatFSAt(ctx context.Context, creds *auth.Credenti for { statfs, err := rp.mount.fs.impl.StatFSAt(ctx, rp) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return statfs, nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return linux.Statfs{}, err } } @@ -652,7 +652,7 @@ func (vfs *VirtualFilesystem) SymlinkAt(ctx context.Context, creds *auth.Credent for { err := rp.mount.fs.impl.SymlinkAt(ctx, rp, target) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if checkInvariants { @@ -661,7 +661,7 @@ func (vfs *VirtualFilesystem) SymlinkAt(ctx context.Context, creds *auth.Credent } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -686,7 +686,7 @@ func (vfs *VirtualFilesystem) UnlinkAt(ctx context.Context, creds *auth.Credenti for { err := rp.mount.fs.impl.UnlinkAt(ctx, rp) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if checkInvariants { @@ -695,7 +695,7 @@ func (vfs *VirtualFilesystem) UnlinkAt(ctx context.Context, creds *auth.Credenti } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -707,7 +707,7 @@ func (vfs *VirtualFilesystem) BoundEndpointAt(ctx context.Context, creds *auth.C for { bep, err := rp.mount.fs.impl.BoundEndpointAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return bep, nil } if checkInvariants { @@ -716,7 +716,7 @@ func (vfs *VirtualFilesystem) BoundEndpointAt(ctx context.Context, creds *auth.C } } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil, err } } @@ -729,7 +729,7 @@ func (vfs *VirtualFilesystem) ListXattrAt(ctx context.Context, creds *auth.Crede for { names, err := rp.mount.fs.impl.ListXattrAt(ctx, rp, size) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return names, nil } if err == syserror.ENOTSUP { @@ -737,11 +737,11 @@ func (vfs *VirtualFilesystem) ListXattrAt(ctx context.Context, creds *auth.Crede // fs/xattr.c:vfs_listxattr() falls back to allowing the security // subsystem to return security extended attributes, which by // default don't exist. - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil, nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil, err } } @@ -754,11 +754,11 @@ func (vfs *VirtualFilesystem) GetXattrAt(ctx context.Context, creds *auth.Creden for { val, err := rp.mount.fs.impl.GetXattrAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return val, nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return "", err } } @@ -771,11 +771,11 @@ func (vfs *VirtualFilesystem) SetXattrAt(ctx context.Context, creds *auth.Creden for { err := rp.mount.fs.impl.SetXattrAt(ctx, rp, *opts) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } @@ -787,11 +787,11 @@ func (vfs *VirtualFilesystem) RemoveXattrAt(ctx context.Context, creds *auth.Cre for { err := rp.mount.fs.impl.RemoveXattrAt(ctx, rp, name) if err == nil { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return nil } if !rp.handleError(ctx, err) { - rp.Release(ctx) + vfs.putResolvingPath(ctx, rp) return err } } |