diff options
author | Jamie Liu <jamieliu@google.com> | 2020-04-08 18:40:46 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-04-08 18:42:05 -0700 |
commit | 0f75f7273d8c4ace73d93b6b00f81d53a5cf76ea (patch) | |
tree | bee8dc0e62ed1395da1817f643ecdc638eeafc07 | |
parent | 6dd5a1f3fe55daa8510b1ee5e3a59219aad92af6 (diff) |
Don't call platform.AddressSpace.MapFile with no permissions.
PiperOrigin-RevId: 305598136
-rw-r--r-- | pkg/sentry/mm/address_space.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pkg/sentry/mm/address_space.go b/pkg/sentry/mm/address_space.go index 0332fc71c..5c667117c 100644 --- a/pkg/sentry/mm/address_space.go +++ b/pkg/sentry/mm/address_space.go @@ -201,8 +201,10 @@ func (mm *MemoryManager) mapASLocked(pseg pmaIterator, ar usermem.AddrRange, pre if pma.needCOW { perms.Write = false } - if err := mm.as.MapFile(pmaMapAR.Start, pma.file, pseg.fileRangeOf(pmaMapAR), perms, precommit); err != nil { - return err + if perms.Any() { // MapFile precondition + if err := mm.as.MapFile(pmaMapAR.Start, pma.file, pseg.fileRangeOf(pmaMapAR), perms, precommit); err != nil { + return err + } } pseg = pseg.NextSegment() } |