summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2019-09-09 21:10:15 +0000
committergVisor bot <gvisor-bot@google.com>2019-09-09 21:10:15 +0000
commitda79874fe7158968fe0d3124aa8e45a6b9688bbb (patch)
treed2a30bfc7b1112b7817ab62a563124ccbae1adb2 /pkg
parent007f4b68f3142ca721a4017e62599d85fa9bad56 (diff)
parent9dfcd8b09fceff830c880065db66821e53c500b0 (diff)
Merge 9dfcd8b0 (automated)
Diffstat (limited to 'pkg')
-rwxr-xr-xpkg/sentry/kernel/seqatomic_taskgoroutineschedinfo_unsafe.go5
-rwxr-xr-xpkg/sentry/time/seqatomic_parameters_unsafe.go5
-rw-r--r--pkg/tcpip/transport/udp/endpoint.go4
3 files changed, 8 insertions, 6 deletions
diff --git a/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo_unsafe.go b/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo_unsafe.go
index 24528b66a..be6b07629 100755
--- a/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo_unsafe.go
+++ b/pkg/sentry/kernel/seqatomic_taskgoroutineschedinfo_unsafe.go
@@ -1,12 +1,11 @@
package kernel
import (
- "strings"
- "unsafe"
-
"fmt"
"gvisor.dev/gvisor/third_party/gvsync"
"reflect"
+ "strings"
+ "unsafe"
)
// SeqAtomicLoad returns a copy of *ptr, ensuring that the read does not race
diff --git a/pkg/sentry/time/seqatomic_parameters_unsafe.go b/pkg/sentry/time/seqatomic_parameters_unsafe.go
index fb30a22c6..b4fb0a7f0 100755
--- a/pkg/sentry/time/seqatomic_parameters_unsafe.go
+++ b/pkg/sentry/time/seqatomic_parameters_unsafe.go
@@ -1,12 +1,11 @@
package time
import (
- "strings"
- "unsafe"
-
"fmt"
"gvisor.dev/gvisor/third_party/gvsync"
"reflect"
+ "strings"
+ "unsafe"
)
// SeqAtomicLoad returns a copy of *ptr, ensuring that the read does not race
diff --git a/pkg/tcpip/transport/udp/endpoint.go b/pkg/tcpip/transport/udp/endpoint.go
index 66455ef46..dccb9a7eb 100644
--- a/pkg/tcpip/transport/udp/endpoint.go
+++ b/pkg/tcpip/transport/udp/endpoint.go
@@ -747,6 +747,10 @@ func (e *endpoint) Disconnect() *tcpip.Error {
}
e.state = StateBound
} else {
+ if e.id.LocalPort != 0 {
+ // Release the ephemeral port.
+ e.stack.ReleasePort(e.effectiveNetProtos, ProtocolNumber, e.id.LocalAddress, e.id.LocalPort)
+ }
e.state = StateInitial
}