summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-01-15Merge release-20210112.0-36-gf37ace666 (automated)gVisor bot
2021-01-15Merge release-20210112.0-35-gec9e263f2 (automated)gVisor bot
2021-01-15Merge release-20210112.0-34-g55c7fe48d (automated)gVisor bot
2021-01-15[rack] Retransmit the probe segment after the probe timer expires.Ayush Ranjan
This change implements TLP details enumerated in https://tools.ietf.org/html/draft-ietf-tcpm-rack-08#section-7.5.2. Fixes #5084 PiperOrigin-RevId: 352093473
2021-01-15Correctly return EMSGSIZE when packet is too big in raw socket.Ting-Yu Wang
IPv4 previously accepts the packet, while IPv6 panics. Neither is the behavior in Linux. splice() in Linux has different behavior than in gVisor. This change documents it in the SpliceTooLong test. Reported-by: syzbot+b550e78e5c24d1d521f2@syzkaller.appspotmail.com PiperOrigin-RevId: 352091286
2021-01-15Merge release-20210112.0-33-gc7fc4a5d6 (automated)gVisor bot
2021-01-15Populate EgressRoute, GSO, Netproto for batch writesGhanan Gowripalan
We loop over the list of packets anyways so setting these aren't expensive. Now that they are populated only by the link endpoint that uses them, TCP does not need to. PiperOrigin-RevId: 352090853
2021-01-15Merge release-20210112.0-32-g9db126eb6 (automated)gVisor bot
2021-01-15Add fsstress testsFabricio Voznika
Updates #5273 PiperOrigin-RevId: 352088736
2021-01-15Combine reference count logs into one message.Dean Deng
Otherwise, races can occur between concurrent logs. PiperOrigin-RevId: 352086914
2021-01-15Merge release-20210112.0-31-gf03144d88 (automated)gVisor bot
2021-01-15Merge release-20210112.0-30-gf1420cf48 (automated)gVisor bot
2021-01-15Support TEST_PREMATURE_EXIT_FILE in syscall testsFabricio Voznika
PiperOrigin-RevId: 352068182
2021-01-15Add sanity check on return values from WriteTing-Yu Wang
io.Writer.Write requires err to be non-nil if n < len(v). We could allow this but it will be irreversible if users depend on this behavior. Ported the test that discovered this. PiperOrigin-RevId: 352065946
2021-01-15Merge release-20210112.0-29-gf7f66c8c6 (automated)gVisor bot
2021-01-15Add tests for cases of ARP failures on TCP connectMithun Iyer
Also fix test expectation for UDP sendto() case in tuntap syscall test. Fixes #5155 PiperOrigin-RevId: 352056612
2021-01-15Merge release-20210112.0-28-g714a020ab (automated)gVisor bot
2021-01-15Merge pull request #5237 from travigd:add-containerd-pausegVisor bot
PiperOrigin-RevId: 352032380
2021-01-15Merge release-20210112.0-25-ge57ebcd37 (automated)gVisor bot
2021-01-14Simplify the pipe implementation.Jamie Liu
- Remove the pipe package's dependence on the buffer package, which becomes unused as a result. The buffer package is currently intended to serve two use cases, pipes and temporary buffers, and does neither optimally as a result; this change facilitates retooling the buffer package to better serve the latter. - Pass callbacks taking safemem.BlockSeq to the internal pipe I/O methods, which makes most callbacks trivial. - Fix VFS1's splice() and tee() to immediately return if a pipe returns a partial write. PiperOrigin-RevId: 351911375
2021-01-14Don't run profiles on runc.Zach Koopmans
PiperOrigin-RevId: 351906812
2021-01-14Add stats for ARPArthur Sfez
Fixes #4963 Startblock: has LGTM from sbalana and then add reviewer ghanan PiperOrigin-RevId: 351886320
2021-01-14Check for existence before permissionsFabricio Voznika
Return EEXIST when overwritting a file as long as the caller has exec permission on the parent directory, even if the caller doesn't have write permission. Also reordered the mount write check, which happens before permission is checked. Closes #5164 PiperOrigin-RevId: 351868123
2021-01-14Remove impossible errorsTamir Duberstein
Commit 25b5ec7 moved link address resolution out of the transport layer; special handling of link address resolution is no longer necessary in tcp. PiperOrigin-RevId: 351839254
2021-01-14Merge release-20201216.0-106-gc49ce8ca8 (automated)gVisor bot
2021-01-13Clear neighbor table on NIC downGhanan Gowripalan
Note, this includes static entries to match linux's behaviour. ``` $ ip neigh show dev eth0 192.168.42.1 lladdr fc:ec:da:70:6e:f9 STALE $ sudo ip neigh add 192.168.42.172 lladdr 22:33:44:55:66:77 dev eth0 $ ip neigh show dev eth0 192.168.42.1 lladdr fc:ec:da:70:6e:f9 STALE 192.168.42.172 lladdr 22:33:44:55:66:77 PERMANENT $ sudo ifconfig eth0 down $ ip neigh show dev eth0 $ sudo ifconfig eth0 up $ ip neigh show dev eth0 ``` Test: stack_test.TestClearNeighborCacheOnNICDisable PiperOrigin-RevId: 351696306
2021-01-14Merge release-20201216.0-105-g25b5ec713 (automated)gVisor bot
2021-01-13Do not resolve remote link address at transport layerGhanan Gowripalan
Link address resolution is performed at the link layer (if required) so we can defer it from the transport layer. When link resolution is required, packets will be queued and sent once link resolution completes. If link resolution fails, the transport layer will receive a control message indicating that the stack failed to route the packet. tcpip.Endpoint.Write no longer returns a channel now that writes do not wait for link resolution at the transport layer. tcpip.ErrNoLinkAddress is no longer used so it is removed. Removed calls to stack.Route.ResolveWith from the transport layer so that link resolution is performed when a route is created in response to an incoming packet (e.g. to complete TCP handshakes or send a RST). Tests: - integration_test.TestForwarding - integration_test.TestTCPLinkResolutionFailure Fixes #4458 RELNOTES: n/a PiperOrigin-RevId: 351684158
2021-01-13Merge release-20201216.0-104-g1efe0ebc5 (automated)gVisor bot
2021-01-13Merge release-20201216.0-103-gf34aaf7ef (automated)gVisor bot
2021-01-13Switch uses of os.Getenv that check for empty string to os.LookupEnv.Dean Deng
Whether the variable was found is already returned by syscall.Getenv. os.Getenv drops this value while os.Lookupenv passes it along. PiperOrigin-RevId: 351674032
2021-01-13testutil: Create a `multiLogger` that logs to multiple `Loggers`.Etienne Perot
This is useful when using the shell library in order to log to both the test log and the standard logs. PiperOrigin-RevId: 351673465
2021-01-13Fix code review issuesTravis DePrato
2021-01-13Add support for pause/restore in containerd shimTravis DePrato
2021-01-13Merge release-20201216.0-102-g64bff178b (automated)gVisor bot
2021-01-13Merge pull request #4792 from lubinszARM:pr_kvm_testgVisor bot
PiperOrigin-RevId: 351638451
2021-01-13Merge release-20201216.0-100-ga684bfb6c (automated)gVisor bot
2021-01-13Split container tests from unit tests.Adin Scannell
PiperOrigin-RevId: 351632484
2021-01-13Merge release-20201216.0-99-g0f25aa24f (automated)gVisor bot
2021-01-13Clean up the dummy network interface used by UDP testsArthur Sfez
It is now composed by a NetworkInterface interface which lets us delete the methods we don't need. PiperOrigin-RevId: 351613267
2021-01-13Merge release-20201216.0-98-gaab7d75bd (automated)gVisor bot
2021-01-13Fix minor typosMichael Pratt
PiperOrigin-RevId: 351606635
2021-01-13Merge release-20201216.0-97-ge4d8f55ce (automated)gVisor bot
2021-01-13Human-readable metric emit logsMichael Pratt
Rather than dumping metrics on a single line, nearly unrelated textproto, print them in alphabetical order, each on their own line. e.g., D0108 17:42:42.198216 3382465 metric.go:253] Emitting metrics: D0108 17:42:42.198240 3382465 metric.go:255] /fs/opens: &{Uint64Value:22} D0108 17:42:42.198271 3382465 metric.go:255] /fs/read_wait: &{Uint64Value:0} D0108 17:42:42.198294 3382465 metric.go:255] /fs/reads: &{Uint64Value:26} D0108 17:42:42.198319 3382465 metric.go:255] /gofer/opened_write_execute_file: &{Uint64Value:0} D0108 17:42:42.198327 3382465 metric.go:255] /gofer/opens_9p: &{Uint64Value:0} D0108 17:42:42.198340 3382465 metric.go:255] /gofer/opens_host: &{Uint64Value:20} ... PiperOrigin-RevId: 351590340
2021-01-13Merge release-20201216.0-96-g19ab0f15f (automated)gVisor bot
2021-01-13[rack] TLP: Recovery detection.Ayush Ranjan
This change implements TLP details enumerated in https://tools.ietf.org/html/draft-ietf-tcpm-rack-08#section-7.6 Fixes #5131 PiperOrigin-RevId: 351558449
2021-01-13Merge release-20201216.0-95-gfb95e13df (automated)gVisor bot
2021-01-12Don't remove release directory.Adin Scannell
If the release directory is a parent directory (for reasons), then this causes a few problems (to say the least). PiperOrigin-RevId: 351515882
2021-01-13Merge release-20201216.0-94-ge74aa25e2 (automated)gVisor bot
2021-01-12Fix Go branch building.Adin Scannell
Files removed from the working tree were not being properly removed from the branch, leading to symbol conflicts while building. This requires the change to 'git add --all' in the tools/go_branch.sh script. But why was this not caught by CI? The "git clean -f" command by default only cleans files in the current working directory. In order to clean the whole tree recursively, we need to specify a pathspec, which is ".". In addition to these fixes, re-add the "go tests" command to help prevent this from happening again, since merges on the Go branch will happen in GitHub actions for simplicity. The Go test is retained in BuildKite. PiperOrigin-RevId: 351503804