summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/kernel/ipc
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/kernel/ipc')
-rw-r--r--pkg/sentry/kernel/ipc/BUILD20
-rw-r--r--pkg/sentry/kernel/ipc/ipc_state_autogen.go86
2 files changed, 86 insertions, 20 deletions
diff --git a/pkg/sentry/kernel/ipc/BUILD b/pkg/sentry/kernel/ipc/BUILD
deleted file mode 100644
index e42a94e15..000000000
--- a/pkg/sentry/kernel/ipc/BUILD
+++ /dev/null
@@ -1,20 +0,0 @@
-load("//tools:defs.bzl", "go_library")
-
-package(licenses = ["notice"])
-
-go_library(
- name = "ipc",
- srcs = [
- "object.go",
- "registry.go",
- ],
- visibility = ["//pkg/sentry:internal"],
- deps = [
- "//pkg/abi/linux",
- "//pkg/context",
- "//pkg/errors/linuxerr",
- "//pkg/log",
- "//pkg/sentry/fs",
- "//pkg/sentry/kernel/auth",
- ],
-)
diff --git a/pkg/sentry/kernel/ipc/ipc_state_autogen.go b/pkg/sentry/kernel/ipc/ipc_state_autogen.go
new file mode 100644
index 000000000..b74f23a21
--- /dev/null
+++ b/pkg/sentry/kernel/ipc/ipc_state_autogen.go
@@ -0,0 +1,86 @@
+// automatically generated by stateify.
+
+package ipc
+
+import (
+ "gvisor.dev/gvisor/pkg/state"
+)
+
+func (o *Object) StateTypeName() string {
+ return "pkg/sentry/kernel/ipc.Object"
+}
+
+func (o *Object) StateFields() []string {
+ return []string{
+ "UserNS",
+ "ID",
+ "Key",
+ "Creator",
+ "Owner",
+ "Perms",
+ }
+}
+
+func (o *Object) beforeSave() {}
+
+// +checklocksignore
+func (o *Object) StateSave(stateSinkObject state.Sink) {
+ o.beforeSave()
+ stateSinkObject.Save(0, &o.UserNS)
+ stateSinkObject.Save(1, &o.ID)
+ stateSinkObject.Save(2, &o.Key)
+ stateSinkObject.Save(3, &o.Creator)
+ stateSinkObject.Save(4, &o.Owner)
+ stateSinkObject.Save(5, &o.Perms)
+}
+
+func (o *Object) afterLoad() {}
+
+// +checklocksignore
+func (o *Object) StateLoad(stateSourceObject state.Source) {
+ stateSourceObject.Load(0, &o.UserNS)
+ stateSourceObject.Load(1, &o.ID)
+ stateSourceObject.Load(2, &o.Key)
+ stateSourceObject.Load(3, &o.Creator)
+ stateSourceObject.Load(4, &o.Owner)
+ stateSourceObject.Load(5, &o.Perms)
+}
+
+func (r *Registry) StateTypeName() string {
+ return "pkg/sentry/kernel/ipc.Registry"
+}
+
+func (r *Registry) StateFields() []string {
+ return []string{
+ "UserNS",
+ "objects",
+ "keysToIDs",
+ "lastIDUsed",
+ }
+}
+
+func (r *Registry) beforeSave() {}
+
+// +checklocksignore
+func (r *Registry) StateSave(stateSinkObject state.Sink) {
+ r.beforeSave()
+ stateSinkObject.Save(0, &r.UserNS)
+ stateSinkObject.Save(1, &r.objects)
+ stateSinkObject.Save(2, &r.keysToIDs)
+ stateSinkObject.Save(3, &r.lastIDUsed)
+}
+
+func (r *Registry) afterLoad() {}
+
+// +checklocksignore
+func (r *Registry) StateLoad(stateSourceObject state.Source) {
+ stateSourceObject.Load(0, &r.UserNS)
+ stateSourceObject.Load(1, &r.objects)
+ stateSourceObject.Load(2, &r.keysToIDs)
+ stateSourceObject.Load(3, &r.lastIDUsed)
+}
+
+func init() {
+ state.Register((*Object)(nil))
+ state.Register((*Registry)(nil))
+}