summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/ashmem
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/fs/ashmem')
-rw-r--r--pkg/sentry/fs/ashmem/BUILD17
-rw-r--r--pkg/sentry/fs/ashmem/area.go8
-rw-r--r--pkg/sentry/fs/ashmem/device.go22
-rw-r--r--pkg/sentry/fs/ashmem/pin_board.go2
4 files changed, 20 insertions, 29 deletions
diff --git a/pkg/sentry/fs/ashmem/BUILD b/pkg/sentry/fs/ashmem/BUILD
index 9f166799a..dc893d22f 100644
--- a/pkg/sentry/fs/ashmem/BUILD
+++ b/pkg/sentry/fs/ashmem/BUILD
@@ -1,26 +1,12 @@
package(licenses = ["notice"]) # Apache 2.0
-load("//tools/go_stateify:defs.bzl", "go_library", "go_stateify", "go_test")
+load("//tools/go_stateify:defs.bzl", "go_library", "go_test")
load("//tools/go_generics:defs.bzl", "go_template_instance")
-go_stateify(
- name = "ashmem_state",
- srcs = [
- "area.go",
- "device.go",
- "pin_board.go",
- "uint64_range.go",
- "uint64_set.go",
- ],
- out = "ashmem_state.go",
- package = "ashmem",
-)
-
go_library(
name = "ashmem",
srcs = [
"area.go",
- "ashmem_state.go",
"device.go",
"pin_board.go",
"uint64_range.go",
@@ -41,7 +27,6 @@ go_library(
"//pkg/sentry/platform",
"//pkg/sentry/usage",
"//pkg/sentry/usermem",
- "//pkg/state",
"//pkg/syserror",
"//pkg/tcpip/transport/unix",
],
diff --git a/pkg/sentry/fs/ashmem/area.go b/pkg/sentry/fs/ashmem/area.go
index e4f76f0d0..bfd7f2762 100644
--- a/pkg/sentry/fs/ashmem/area.go
+++ b/pkg/sentry/fs/ashmem/area.go
@@ -39,10 +39,12 @@ const (
)
// Area implements fs.FileOperations.
+//
+// +stateify savable
type Area struct {
- fsutil.NoFsync
- fsutil.DeprecatedFileOperations
- fsutil.NotDirReaddir
+ fsutil.NoFsync `state:"nosave"`
+ fsutil.DeprecatedFileOperations `state:"nosave"`
+ fsutil.NotDirReaddir `state:"nosave"`
ad *Device
diff --git a/pkg/sentry/fs/ashmem/device.go b/pkg/sentry/fs/ashmem/device.go
index c5b51d4a7..d0986fa11 100644
--- a/pkg/sentry/fs/ashmem/device.go
+++ b/pkg/sentry/fs/ashmem/device.go
@@ -27,17 +27,19 @@ import (
)
// Device implements fs.InodeOperations.
+//
+// +stateify savable
type Device struct {
- fsutil.DeprecatedFileOperations
- fsutil.InodeNoExtendedAttributes
- fsutil.InodeNotDirectory
- fsutil.InodeNotRenameable
- fsutil.InodeNotSocket
- fsutil.InodeNotSymlink
- fsutil.NoFsync
- fsutil.NoMappable
- fsutil.NoopWriteOut
- fsutil.NotDirReaddir
+ fsutil.DeprecatedFileOperations `state:"nosave"`
+ fsutil.InodeNoExtendedAttributes `state:"nosave"`
+ fsutil.InodeNotDirectory `state:"nosave"`
+ fsutil.InodeNotRenameable `state:"nosave"`
+ fsutil.InodeNotSocket `state:"nosave"`
+ fsutil.InodeNotSymlink `state:"nosave"`
+ fsutil.NoFsync `state:"nosave"`
+ fsutil.NoMappable `state:"nosave"`
+ fsutil.NoopWriteOut `state:"nosave"`
+ fsutil.NotDirReaddir `state:"nosave"`
mu sync.Mutex `state:"nosave"`
unstable fs.UnstableAttr
diff --git a/pkg/sentry/fs/ashmem/pin_board.go b/pkg/sentry/fs/ashmem/pin_board.go
index c7fb3822c..ecba395a0 100644
--- a/pkg/sentry/fs/ashmem/pin_board.go
+++ b/pkg/sentry/fs/ashmem/pin_board.go
@@ -56,6 +56,8 @@ func (setFunctions) Split(Range, noValue, uint64) (noValue, noValue) {
// segment.Set is used for implementation where segments represent
// ranges of pinned bytes, while gaps represent ranges of unpinned
// bytes. All ranges are page-aligned.
+//
+// +stateify savable
type PinBoard struct {
Set
}