From e77ec6e7193ae31f197c659f3767c6e0e216b1eb Mon Sep 17 00:00:00 2001 From: Lucas Manning Date: Mon, 31 Jul 2023 18:54:19 -0700 Subject: [PATCH] Issue a panic in the case of a failed mount promise. Failing to resolve a mount promise is never expected behavior. The sandbox should crash in this case, since something has gone fatally wrong. PiperOrigin-RevId: 552652799 --- pkg/sentry/vfs/vfs.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/sentry/vfs/vfs.go b/pkg/sentry/vfs/vfs.go index dc3f6a7bf..96721ab52 100644 --- a/pkg/sentry/vfs/vfs.go +++ b/pkg/sentry/vfs/vfs.go @@ -47,7 +47,6 @@ import ( "gvisor.dev/gvisor/pkg/errors/linuxerr" "gvisor.dev/gvisor/pkg/eventchannel" "gvisor.dev/gvisor/pkg/fspath" - "gvisor.dev/gvisor/pkg/log" "gvisor.dev/gvisor/pkg/sentry/fsmetric" "gvisor.dev/gvisor/pkg/sentry/kernel/auth" "gvisor.dev/gvisor/pkg/sentry/socket/unix/transport" @@ -947,7 +946,7 @@ func (vfs *VirtualFilesystem) maybeBlockOnMountPromise(ctx context.Context, rp * rp.start = newMnt.root rp.flags = rp.flags&^rpflagsHaveStartRef | rpflagsHaveMountRef case <-time.After(mountPromiseTimeout): - log.Warningf("mount promise for %s timed out, proceeding with VFS operation", path) + panic(fmt.Sprintf("mount promise for %s timed out, unable to proceed", path)) } }