From 5fa480a877b4aa4633797e2fd8cd0364eebc7366 Mon Sep 17 00:00:00 2001 From: Bin Lu Date: Wed, 13 May 2020 04:39:25 -0400 Subject: PROT_NONE should be specially treated in the step of mapPhysical It's a workaround to treat PROT_NONE as RDONLY temporarily. TODO(gvisor.dev/issue/2686): PROT_NONE should be specially treated. Signed-off-by: Bin Lu --- pkg/sentry/platform/kvm/machine_arm64.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pkg/sentry/platform') diff --git a/pkg/sentry/platform/kvm/machine_arm64.go b/pkg/sentry/platform/kvm/machine_arm64.go index e42505542..750751aa3 100644 --- a/pkg/sentry/platform/kvm/machine_arm64.go +++ b/pkg/sentry/platform/kvm/machine_arm64.go @@ -60,6 +60,12 @@ func rdonlyRegionsForSetMem() (phyRegions []physicalRegion) { if !vr.accessType.Write && vr.accessType.Read { rdonlyRegions = append(rdonlyRegions, vr.region) } + + // TODO(gvisor.dev/issue/2686): PROT_NONE should be specially treated. + // Workaround: treated as rdonly temporarily. + if !vr.accessType.Write && !vr.accessType.Read && !vr.accessType.Execute { + rdonlyRegions = append(rdonlyRegions, vr.region) + } }) for _, r := range rdonlyRegions { -- cgit v1.2.3