diff options
author | Zach Koopmans <zkoopmans@google.com> | 2021-11-04 12:08:45 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-11-04 12:11:41 -0700 |
commit | 23a115dae84e7e63c8785c49dfff3e551a0bf97e (patch) | |
tree | 3c39ad2b1ab9f90971cdce9664ab58a35c0696ab /pkg/sentry/socket/netlink | |
parent | 80cba65bd84d6415719b07daeca7188871000242 (diff) |
[syserr] Reverse dependency for tcpip.Error
PiperOrigin-RevId: 407638912
Diffstat (limited to 'pkg/sentry/socket/netlink')
-rw-r--r-- | pkg/sentry/socket/netlink/provider.go | 3 | ||||
-rw-r--r-- | pkg/sentry/socket/netlink/provider_vfs2.go | 3 | ||||
-rw-r--r-- | pkg/sentry/socket/netlink/route/BUILD | 1 | ||||
-rw-r--r-- | pkg/sentry/socket/netlink/route/protocol.go | 19 | ||||
-rw-r--r-- | pkg/sentry/socket/netlink/socket.go | 6 |
5 files changed, 18 insertions, 14 deletions
diff --git a/pkg/sentry/socket/netlink/provider.go b/pkg/sentry/socket/netlink/provider.go index 31e374833..936e741f8 100644 --- a/pkg/sentry/socket/netlink/provider.go +++ b/pkg/sentry/socket/netlink/provider.go @@ -23,6 +23,7 @@ import ( "gvisor.dev/gvisor/pkg/sentry/kernel" "gvisor.dev/gvisor/pkg/sentry/socket" "gvisor.dev/gvisor/pkg/syserr" + "gvisor.dev/gvisor/pkg/tcpip" ) // Protocol is the implementation of a netlink socket protocol. @@ -104,7 +105,7 @@ func (*socketProvider) Socket(t *kernel.Task, stype linux.SockType, protocol int // Pair implements socket.Provider.Pair by returning an error. func (*socketProvider) Pair(*kernel.Task, linux.SockType, int) (*fs.File, *fs.File, *syserr.Error) { // Netlink sockets never supports creating socket pairs. - return nil, nil, syserr.ErrNotSupported + return nil, nil, tcpip.SyserrNotSupported } // LINT.ThenChange(./provider_vfs2.go) diff --git a/pkg/sentry/socket/netlink/provider_vfs2.go b/pkg/sentry/socket/netlink/provider_vfs2.go index f061c5d62..1cbeb60b5 100644 --- a/pkg/sentry/socket/netlink/provider_vfs2.go +++ b/pkg/sentry/socket/netlink/provider_vfs2.go @@ -20,6 +20,7 @@ import ( "gvisor.dev/gvisor/pkg/sentry/kernel" "gvisor.dev/gvisor/pkg/sentry/vfs" "gvisor.dev/gvisor/pkg/syserr" + "gvisor.dev/gvisor/pkg/tcpip" ) // socketProviderVFS2 implements socket.Provider. @@ -66,5 +67,5 @@ func (*socketProviderVFS2) Socket(t *kernel.Task, stype linux.SockType, protocol // Pair implements socket.Provider.Pair by returning an error. func (*socketProviderVFS2) Pair(*kernel.Task, linux.SockType, int) (*vfs.FileDescription, *vfs.FileDescription, *syserr.Error) { // Netlink sockets never supports creating socket pairs. - return nil, nil, syserr.ErrNotSupported + return nil, nil, tcpip.SyserrNotSupported } diff --git a/pkg/sentry/socket/netlink/route/BUILD b/pkg/sentry/socket/netlink/route/BUILD index c6c04b4e3..2cc80b40e 100644 --- a/pkg/sentry/socket/netlink/route/BUILD +++ b/pkg/sentry/socket/netlink/route/BUILD @@ -17,6 +17,7 @@ go_library( "//pkg/sentry/kernel/auth", "//pkg/sentry/socket/netlink", "//pkg/syserr", + "//pkg/tcpip", "@org_golang_x_sys//unix:go_default_library", ], ) diff --git a/pkg/sentry/socket/netlink/route/protocol.go b/pkg/sentry/socket/netlink/route/protocol.go index d526acb73..6f5cbfef9 100644 --- a/pkg/sentry/socket/netlink/route/protocol.go +++ b/pkg/sentry/socket/netlink/route/protocol.go @@ -27,6 +27,7 @@ import ( "gvisor.dev/gvisor/pkg/sentry/kernel/auth" "gvisor.dev/gvisor/pkg/sentry/socket/netlink" "gvisor.dev/gvisor/pkg/syserr" + "gvisor.dev/gvisor/pkg/tcpip" ) // commandKind describes the operational class of a message type. @@ -360,7 +361,7 @@ func parseForDestination(msg *netlink.Message) ([]byte, *syserr.Error) { // commit bc234301af12. Note we don't check this flag for backward // compatibility. if rtMsg.Flags != 0 && rtMsg.Flags != linux.RTM_F_LOOKUP_TABLE { - return nil, syserr.ErrNotSupported + return nil, tcpip.SyserrNotSupported } // Expect first attribute is RTA_DST. @@ -393,7 +394,7 @@ func (p *Protocol) dumpRoutes(ctx context.Context, msg *netlink.Message, ms *net route, err := fillRoute(routeTables, dst) if err != nil { // TODO(gvisor.dev/issue/1237): return NLMSG_ERROR with ENETUNREACH. - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } routeTables = append([]inet.Route{}, route) } else if hdr.Flags&linux.NLM_F_DUMP == linux.NLM_F_DUMP { @@ -401,7 +402,7 @@ func (p *Protocol) dumpRoutes(ctx context.Context, msg *netlink.Message, ms *net ms.Multi = true } else { // TODO(b/68878065): Only above cases are supported. - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } for _, rt := range routeTables { @@ -489,7 +490,7 @@ func (p *Protocol) newAddr(ctx context.Context, msg *netlink.Message, ms *netlin } case linux.IFA_ADDRESS: default: - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } } return nil @@ -530,11 +531,11 @@ func (p *Protocol) delAddr(ctx context.Context, msg *netlink.Message, ms *netlin Addr: value, }) if err != nil { - return syserr.ErrBadLocalAddress + return tcpip.SyserrBadLocalAddress } case linux.IFA_ADDRESS: default: - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } } @@ -572,7 +573,7 @@ func (p *Protocol) ProcessMessage(ctx context.Context, msg *netlink.Message, ms case linux.RTM_GETROUTE: return p.dumpRoutes(ctx, msg, ms) default: - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } } else if hdr.Flags&linux.NLM_F_REQUEST == linux.NLM_F_REQUEST { switch hdr.Type { @@ -587,10 +588,10 @@ func (p *Protocol) ProcessMessage(ctx context.Context, msg *netlink.Message, ms case linux.RTM_DELADDR: return p.delAddr(ctx, msg, ms) default: - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } } - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } // init registers the NETLINK_ROUTE provider. diff --git a/pkg/sentry/socket/netlink/socket.go b/pkg/sentry/socket/netlink/socket.go index ed5fa9c38..267155807 100644 --- a/pkg/sentry/socket/netlink/socket.go +++ b/pkg/sentry/socket/netlink/socket.go @@ -312,19 +312,19 @@ func (s *socketOpsCommon) Connect(t *kernel.Task, sockaddr []byte, blocking bool // Accept implements socket.Socket.Accept. func (s *socketOpsCommon) Accept(t *kernel.Task, peerRequested bool, flags int, blocking bool) (int32, linux.SockAddr, uint32, *syserr.Error) { // Netlink sockets never support accept. - return 0, nil, 0, syserr.ErrNotSupported + return 0, nil, 0, tcpip.SyserrNotSupported } // Listen implements socket.Socket.Listen. func (s *socketOpsCommon) Listen(t *kernel.Task, backlog int) *syserr.Error { // Netlink sockets never support listen. - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } // Shutdown implements socket.Socket.Shutdown. func (s *socketOpsCommon) Shutdown(t *kernel.Task, how int) *syserr.Error { // Netlink sockets never support shutdown. - return syserr.ErrNotSupported + return tcpip.SyserrNotSupported } // GetSockOpt implements socket.Socket.GetSockOpt. |