From 58880bf551f4fdaeecf0a355816f1af353ef81b6 Mon Sep 17 00:00:00 2001 From: Nicolas Lacasse Date: Wed, 24 Jun 2020 16:21:53 -0700 Subject: Port /dev/net/tun device to VFS2. Updates #2912 #1035 PiperOrigin-RevId: 318162565 --- runsc/boot/BUILD | 1 + runsc/boot/vfs.go | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'runsc/boot') diff --git a/runsc/boot/BUILD b/runsc/boot/BUILD index b701c65d2..45d7f7d09 100644 --- a/runsc/boot/BUILD +++ b/runsc/boot/BUILD @@ -41,6 +41,7 @@ go_library( "//pkg/sentry/control", "//pkg/sentry/devices/memdev", "//pkg/sentry/devices/ttydev", + "//pkg/sentry/devices/tundev", "//pkg/sentry/fdimport", "//pkg/sentry/fs", "//pkg/sentry/fs/dev", diff --git a/runsc/boot/vfs.go b/runsc/boot/vfs.go index 2fdddc719..9ba5e9cd9 100644 --- a/runsc/boot/vfs.go +++ b/runsc/boot/vfs.go @@ -27,6 +27,7 @@ import ( "gvisor.dev/gvisor/pkg/log" "gvisor.dev/gvisor/pkg/sentry/devices/memdev" "gvisor.dev/gvisor/pkg/sentry/devices/ttydev" + "gvisor.dev/gvisor/pkg/sentry/devices/tundev" "gvisor.dev/gvisor/pkg/sentry/fs/user" "gvisor.dev/gvisor/pkg/sentry/fsimpl/devpts" "gvisor.dev/gvisor/pkg/sentry/fsimpl/devtmpfs" @@ -79,6 +80,9 @@ func registerFilesystems(ctx context.Context, vfsObj *vfs.VirtualFilesystem, cre if err := ttydev.Register(vfsObj); err != nil { return fmt.Errorf("registering ttydev: %w", err) } + if err := tundev.Register(vfsObj); err != nil { + return fmt.Errorf("registering tundev: %v", err) + } a, err := devtmpfs.NewAccessor(ctx, vfsObj, creds, devtmpfs.Name) if err != nil { return fmt.Errorf("creating devtmpfs accessor: %w", err) @@ -89,10 +93,13 @@ func registerFilesystems(ctx context.Context, vfsObj *vfs.VirtualFilesystem, cre return fmt.Errorf("initializing userspace: %w", err) } if err := memdev.CreateDevtmpfsFiles(ctx, a); err != nil { - return fmt.Errorf("creating devtmpfs files: %w", err) + return fmt.Errorf("creating memdev devtmpfs files: %w", err) } if err := ttydev.CreateDevtmpfsFiles(ctx, a); err != nil { - return fmt.Errorf("creating devtmpfs files: %w", err) + return fmt.Errorf("creating ttydev devtmpfs files: %w", err) + } + if err := tundev.CreateDevtmpfsFiles(ctx, a); err != nil { + return fmt.Errorf("creating tundev devtmpfs files: %v", err) } return nil } -- cgit v1.2.3