summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/platform/kvm/bluepill.go
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/sentry/platform/kvm/bluepill.go
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/sentry/platform/kvm/bluepill.go')
-rw-r--r--pkg/sentry/platform/kvm/bluepill.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/pkg/sentry/platform/kvm/bluepill.go b/pkg/sentry/platform/kvm/bluepill.go
index bb9967b9f..826997e77 100644
--- a/pkg/sentry/platform/kvm/bluepill.go
+++ b/pkg/sentry/platform/kvm/bluepill.go
@@ -61,6 +61,9 @@ var (
// This is called by bluepillHandler.
savedHandler uintptr
+ // savedSigsysHandler is a pointer to the previos handler of the SIGSYS signals.
+ savedSigsysHandler uintptr
+
// dieTrampolineAddr is the address of dieTrampoline.
dieTrampolineAddr uintptr
)