Files
visor/pkg/sentry/platform/kvm/physical_map_arm64.go
Andrei VaginandgVisor bot 93be82f366 kvm: handle mappings in the extended address space properly
vDSO mappings can be located within the extended address space. This was a
kernel issue that was resolved in the upstream kernel by commit 3c6539b4c177
("x86/vdso: Move vDSO to mmap region").

Previously, I assumed these mappings could only be placed at the very beginning
of the extended address space. Based on that assumption, it seemed reasonable
to simply extend the sentry address space to include vDSO mappings. However, we
have encountered cases where the vDSO is mapped at very high addresses,
so the original approach can't work in such cases.

A simpler solution is to treat vDSO mappings as a separate region.

PiperOrigin-RevId: 858853189
2026-01-20 19:08:18 -08:00

29 lines
873 B
Go

// Copyright 2019 The gVisor Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package kvm
const (
reservedMemory = 0
// 5-level page tables are not implemeted on arm64.
extendedAddressSpaceAllowed = false
)
func archSpecialRegions(vSize uintptr) (uintptr, []specialVirtualRegion) {
return vSize, nil
}
func archSpecialRegion(vr virtualRegion) {
}