From cfc24011ad4d1f31bdacbd7e02af10054bcbe6fb Mon Sep 17 00:00:00 2001 From: Andrei Vagin Date: Wed, 8 Nov 2023 12:33:45 -0800 Subject: [PATCH] vfs: try again to allocate a new mount group after resizing vfs.groupIDBitmap Otherwise, a group id value is always 0x7fffffff in such cases. PiperOrigin-RevId: 580619582 --- pkg/sentry/vfs/propagation.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/sentry/vfs/propagation.go b/pkg/sentry/vfs/propagation.go index be6715e63..d12783b6c 100644 --- a/pkg/sentry/vfs/propagation.go +++ b/pkg/sentry/vfs/propagation.go @@ -448,6 +448,10 @@ func (vfs *VirtualFilesystem) allocateGroupID(mnt *Mount) error { if err := vfs.groupIDBitmap.Grow(uint32(vfs.groupIDBitmap.Size())); err != nil { return linuxerr.ENOSPC } + groupID, err = vfs.groupIDBitmap.FirstZero(1) + if err != nil { + return err + } } vfs.groupIDBitmap.Add(groupID) mnt.groupID = groupID