summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/socket/control
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/socket/control')
-rw-r--r--pkg/sentry/socket/control/BUILD23
-rw-r--r--pkg/sentry/socket/control/control.go4
2 files changed, 18 insertions, 9 deletions
diff --git a/pkg/sentry/socket/control/BUILD b/pkg/sentry/socket/control/BUILD
index c4874fdfb..faf2b4c27 100644
--- a/pkg/sentry/socket/control/BUILD
+++ b/pkg/sentry/socket/control/BUILD
@@ -1,14 +1,26 @@
package(licenses = ["notice"]) # Apache 2.0
-load("//tools/go_stateify:defs.bzl", "go_library")
+load("//tools/go_stateify:defs.bzl", "go_library", "go_stateify")
-go_library(
- name = "control",
- srcs = ["control.go"],
- importpath = "gvisor.googlesource.com/gvisor/pkg/sentry/socket/control",
+go_stateify(
+ name = "control_state",
+ srcs = [
+ "control.go",
+ ],
+ out = "control_state.go",
imports = [
"gvisor.googlesource.com/gvisor/pkg/sentry/fs",
],
+ package = "control",
+)
+
+go_library(
+ name = "control",
+ srcs = [
+ "control.go",
+ "control_state.go",
+ ],
+ importpath = "gvisor.googlesource.com/gvisor/pkg/sentry/socket/control",
visibility = ["//pkg/sentry:internal"],
deps = [
"//pkg/abi/linux",
@@ -19,6 +31,7 @@ go_library(
"//pkg/sentry/kernel/auth",
"//pkg/sentry/kernel/kdefs",
"//pkg/sentry/usermem",
+ "//pkg/state",
"//pkg/syserror",
"//pkg/tcpip/transport/unix",
],
diff --git a/pkg/sentry/socket/control/control.go b/pkg/sentry/socket/control/control.go
index c31182e69..17ecdd11c 100644
--- a/pkg/sentry/socket/control/control.go
+++ b/pkg/sentry/socket/control/control.go
@@ -51,8 +51,6 @@ type SCMRights interface {
// RightsFiles represents a SCM_RIGHTS socket control message. A reference is
// maintained for each fs.File and is release either when an FD is created or
// when the Release method is called.
-//
-// +stateify savable
type RightsFiles []*fs.File
// NewSCMRights creates a new SCM_RIGHTS socket control message representation
@@ -130,8 +128,6 @@ func PackRights(t *kernel.Task, rights SCMRights, cloexec bool, buf []byte) []by
}
// scmCredentials represents an SCM_CREDENTIALS socket control message.
-//
-// +stateify savable
type scmCredentials struct {
t *kernel.Task
kuid auth.KUID