summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/host/socket_state.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/sentry/fs/host/socket_state.go')
-rw-r--r--pkg/sentry/fs/host/socket_state.go19
1 files changed, 11 insertions, 8 deletions
diff --git a/pkg/sentry/fs/host/socket_state.go b/pkg/sentry/fs/host/socket_state.go
index 6acabd55a..7fa500bfb 100644
--- a/pkg/sentry/fs/host/socket_state.go
+++ b/pkg/sentry/fs/host/socket_state.go
@@ -17,23 +17,26 @@ package host
import (
"fmt"
"syscall"
+
+ "gvisor.googlesource.com/gvisor/pkg/fd"
)
// beforeSave is invoked by stateify.
-func (ep *endpoint) beforeSave() {
- if ep.srfd < 0 {
+func (c *ConnectedEndpoint) beforeSave() {
+ if c.srfd < 0 {
panic("only host file descriptors provided at sentry startup can be saved")
}
}
// afterLoad is invoked by stateify.
-func (ep *endpoint) afterLoad() {
- fd, err := syscall.Dup(ep.srfd)
+func (c *ConnectedEndpoint) afterLoad() {
+ f, err := syscall.Dup(c.srfd)
if err != nil {
- panic(fmt.Sprintf("failed to dup restored fd %d: %v", ep.srfd, err))
+ panic(fmt.Sprintf("failed to dup restored FD %d: %v", c.srfd, err))
}
- ep.fd = fd
- if err := ep.init(); err != nil {
- panic(fmt.Sprintf("Could not restore host socket fd %d: %v", ep.srfd, err))
+ c.file = fd.New(f)
+ if err := c.init(); err != nil {
+ panic(fmt.Sprintf("Could not restore host socket FD %d: %v", c.srfd, err))
}
+ c.Init()
}