diff options
author | gVisor bot <gvisor-bot@google.com> | 2021-05-14 21:09:13 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-05-14 21:09:13 +0000 |
commit | c767d9eb372ddd4005744daa0972895fd0595326 (patch) | |
tree | c2372d38cc1d25a875b49ca1896b157ece60a715 /pkg/sentry/kernel | |
parent | 8ae8702de6b80d8ecae5bf1f0500dacf12c9a547 (diff) | |
parent | 894187b2c6edbe367135670fb53f2e3f3d24535d (diff) |
Merge release-20210510.0-38-g894187b2c (automated)
Diffstat (limited to 'pkg/sentry/kernel')
-rw-r--r-- | pkg/sentry/kernel/fd_table.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pkg/sentry/kernel/fd_table.go b/pkg/sentry/kernel/fd_table.go index 10885688c..62777faa8 100644 --- a/pkg/sentry/kernel/fd_table.go +++ b/pkg/sentry/kernel/fd_table.go @@ -154,9 +154,11 @@ func (f *FDTable) drop(ctx context.Context, file *fs.File) { // dropVFS2 drops the table reference. func (f *FDTable) dropVFS2(ctx context.Context, file *vfs.FileDescription) { // Release any POSIX lock possibly held by the FDTable. - err := file.UnlockPOSIX(ctx, f, lock.LockRange{0, lock.LockEOF}) - if err != nil && err != syserror.ENOLCK { - panic(fmt.Sprintf("UnlockPOSIX failed: %v", err)) + if file.SupportsLocks() { + err := file.UnlockPOSIX(ctx, f, lock.LockRange{0, lock.LockEOF}) + if err != nil && err != syserror.ENOLCK { + panic(fmt.Sprintf("UnlockPOSIX failed: %v", err)) + } } // Drop the table's reference. |