summaryrefslogtreecommitdiffhomepage
path: root/pkg/sync/atomicptr
diff options
context:
space:
mode:
authorAndrei Vagin <avagin@gmail.com>2021-09-13 16:52:47 -0700
committerAndrei Vagin <avagin@google.com>2021-09-22 14:39:36 -0700
commit0bdd79ccd4695ba4539f2a288f88c60c8dd2ce1d (patch)
treea8bcc326a116577047c84b28423625cc3d2deffc /pkg/sync/atomicptr
parent981111a9ee27c68c22ab78197cb82539442fb581 (diff)
kvm: trap mmap syscalls to map new regions to the guest
We install seccomp rules so that the SIGSYS signal is generated for each mmap system call. Then our signal handler executes the real mmap syscall and if a new regions is created, it maps it to the guest. Signed-off-by: Andrei Vagin <avagin@google.com>
Diffstat (limited to 'pkg/sync/atomicptr')
-rw-r--r--pkg/sync/atomicptr/generic_atomicptr_unsafe.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkg/sync/atomicptr/generic_atomicptr_unsafe.go b/pkg/sync/atomicptr/generic_atomicptr_unsafe.go
index 82b6df18c..7b9c2a4db 100644
--- a/pkg/sync/atomicptr/generic_atomicptr_unsafe.go
+++ b/pkg/sync/atomicptr/generic_atomicptr_unsafe.go
@@ -37,6 +37,8 @@ func (p *AtomicPtr) loadPtr(v *Value) {
// Load returns the value set by the most recent Store. It returns nil if there
// has been no previous call to Store.
+//
+//go:nosplit
func (p *AtomicPtr) Load() *Value {
return (*Value)(atomic.LoadPointer(&p.ptr))
}