From c39284f457383dabd52f468a10072ca6d2211cbb Mon Sep 17 00:00:00 2001 From: Kevin Krakauer Date: Thu, 11 Feb 2021 15:59:20 -0800 Subject: Let sentry understand tcpip.ErrMalformedHeader Added a LINT IfChange/ThenChange check to catch this in the future. PiperOrigin-RevId: 357077564 --- pkg/syserr/netstack.go | 7 +++++++ pkg/tcpip/errors.go | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/pkg/syserr/netstack.go b/pkg/syserr/netstack.go index a6a91e064..0b9139570 100644 --- a/pkg/syserr/netstack.go +++ b/pkg/syserr/netstack.go @@ -21,6 +21,8 @@ import ( "gvisor.dev/gvisor/pkg/tcpip" ) +// LINT.IfChange + // Mapping for tcpip.Error types. var ( ErrUnknownProtocol = New((&tcpip.ErrUnknownProtocol{}).String(), linux.EINVAL) @@ -48,6 +50,7 @@ var ( ErrBroadcastDisabled = New((&tcpip.ErrBroadcastDisabled{}).String(), linux.EACCES) ErrNotPermittedNet = New((&tcpip.ErrNotPermitted{}).String(), linux.EPERM) ErrBadBuffer = New((&tcpip.ErrBadBuffer{}).String(), linux.EFAULT) + ErrMalformedHeader = New((&tcpip.ErrMalformedHeader{}).String(), linux.EINVAL) ) // TranslateNetstackError converts an error from the tcpip package to a sentry @@ -130,7 +133,11 @@ func TranslateNetstackError(err tcpip.Error) *Error { return ErrAddressFamilyNotSupported case *tcpip.ErrBadBuffer: return ErrBadBuffer + case *tcpip.ErrMalformedHeader: + return ErrMalformedHeader default: panic(fmt.Sprintf("unknown error %T", err)) } } + +// LINT.ThenChange(../tcpip/errors.go) diff --git a/pkg/tcpip/errors.go b/pkg/tcpip/errors.go index af46da1d2..3b7cc52f3 100644 --- a/pkg/tcpip/errors.go +++ b/pkg/tcpip/errors.go @@ -32,6 +32,8 @@ type Error interface { fmt.Stringer } +// LINT.IfChange + // ErrAborted indicates the operation was aborted. // // +stateify savable @@ -536,3 +538,5 @@ func (*ErrWouldBlock) IgnoreStats() bool { return true } func (*ErrWouldBlock) String() string { return "operation would block" } + +// LINT.ThenChange(../syserr/netstack.go) -- cgit v1.2.3