summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/timerfd
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/fs/timerfd')
-rw-r--r--pkg/sentry/fs/timerfd/BUILD18
-rw-r--r--pkg/sentry/fs/timerfd/timerfd.go4
2 files changed, 17 insertions, 5 deletions
diff --git a/pkg/sentry/fs/timerfd/BUILD b/pkg/sentry/fs/timerfd/BUILD
index ffdd7e0dc..8b1b7872e 100644
--- a/pkg/sentry/fs/timerfd/BUILD
+++ b/pkg/sentry/fs/timerfd/BUILD
@@ -1,19 +1,33 @@
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_stateify(
+ name = "timerfd_state",
+ srcs = [
+ "timerfd.go",
+ ],
+ out = "timerfd_state.go",
+ package = "timerfd",
+)
go_library(
name = "timerfd",
- srcs = ["timerfd.go"],
+ srcs = [
+ "timerfd.go",
+ "timerfd_state.go",
+ ],
importpath = "gvisor.googlesource.com/gvisor/pkg/sentry/fs/timerfd",
visibility = ["//pkg/sentry:internal"],
deps = [
+ "//pkg/refs",
"//pkg/sentry/context",
"//pkg/sentry/fs",
"//pkg/sentry/fs/anon",
"//pkg/sentry/fs/fsutil",
"//pkg/sentry/kernel/time",
"//pkg/sentry/usermem",
+ "//pkg/state",
"//pkg/syserror",
"//pkg/waiter",
],
diff --git a/pkg/sentry/fs/timerfd/timerfd.go b/pkg/sentry/fs/timerfd/timerfd.go
index 767db95a0..ae58f6fd7 100644
--- a/pkg/sentry/fs/timerfd/timerfd.go
+++ b/pkg/sentry/fs/timerfd/timerfd.go
@@ -30,8 +30,6 @@ import (
)
// TimerOperations implements fs.FileOperations for timerfds.
-//
-// +stateify savable
type TimerOperations struct {
fsutil.ZeroSeek `state:"nosave"`
fsutil.NotDirReaddir `state:"nosave"`
@@ -40,7 +38,7 @@ type TimerOperations struct {
fsutil.NoMMap `state:"nosave"`
fsutil.NoIoctl `state:"nosave"`
- events waiter.Queue `state:"zerovalue"`
+ events waiter.Queue `state:"nosave"`
timer *ktime.Timer
// val is the number of timer expirations since the last successful call to