summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-01-11Fix Go branch for arm64.Adin Scannell
This requires several changes: * Templates must preserve relevant tags. * Pagetables templates are split into two targets, each preserving tags. * The binary VDSO is similarly split into two targets, with some juggling. * The top level tools/go_branch.sh now does a crossbuild of ARM64 as well, and checks and merges the results of the two branches together. Fixes #5178 PiperOrigin-RevId: 351304330
2021-01-11Make segment range type split safe.Adin Scannell
This allows for use in restricted contexts. Updates #5039 PiperOrigin-RevId: 351265378
2021-01-11Add additional required packages.Adin Scannell
PiperOrigin-RevId: 351263241
2021-01-11OCI spec may contain duplicate environment variablesFabricio Voznika
Closes #5226 PiperOrigin-RevId: 351259576
2021-01-11Make ilist split safe.Adin Scannell
This allows for use in restricted contexts. Updates #5039 PiperOrigin-RevId: 351220385
2021-01-11Fix rules_go checksums.Adin Scannell
The release was changed by bazel ಠ_ಠ: https://github.com/bazelbuild/rules_go/issues/2779 Updates #5188 PiperOrigin-RevId: 351185440
2021-01-08Support releasing aarch64 builds.Adin Scannell
This change works around an issue in rules_pkg, described here: https://github.com/bazelbuild/rules_pkg/pull/263 PiperOrigin-RevId: 350869030
2021-01-08Merge pull request #4933 from lubinszARM:pr_kvm_el0_exceptionsgVisor bot
PiperOrigin-RevId: 350862699
2021-01-08Create console test library.Etienne Perot
This creates a TTY pair and runs `/bin/sh` in interactive mode within it. It provides useful helper functions to interact with the shell and read the output of commands run within it. This is meant to be used for testing upcoming changes allowing `runsc exec` to work in `-detach=false -tty=true` mode. PiperOrigin-RevId: 350841006
2021-01-08Merge pull request #5228 from avagin:arm-qemu-aarch64gVisor bot
PiperOrigin-RevId: 350823213
2021-01-08Build the arm-qemu docker image only for x86_64Andrei Vagin
It isn't used on aarch64. Signed-off-by: Andrei Vagin <avagin@gmail.com>
2021-01-08Add prefix helper to link to code search results.Adin Scannell
This is extremely convenient similar to being able to link to Go package documentation via the canonical package names. PiperOrigin-RevId: 350774913
2021-01-08Fix sha256 for github-workflow.json.Adin Scannell
This was not being tested as part of the unit test workflows, and thus was not being hit normally. These tests are also added to the unit tests target. PiperOrigin-RevId: 350766814
2021-01-07Merge pull request #5207 from avagin:arm64-crossgVisor bot
PiperOrigin-RevId: 350691246
2021-01-07Add ARM smoke testAndrei Vagin
make BAZEL_CONFIG=aarch64 arm-qemu-smoke-test Signed-off-by: Andrei Vagin <avagin@gmail.com>
2021-01-07Require specific buckets for pprof handler.Adin Scannell
This further restricts the surface exposed only to artifacts generated by the continuous integration system. This change also installs appropriate root certificates, so that objects can be fetched from https://storage.googleapis.com. PiperOrigin-RevId: 350650197
2021-01-07Fix tuntap_test to cleanup after CreateInterfaceNoCapMithun Iyer
PiperOrigin-RevId: 350646249
2021-01-07netstack: Refactor tcpip.Endpoint.ReadTing-Yu Wang
Read now takes a destination io.Writer, count, options. Keeping the method name Read, in contrast to the Write method. This enables: * direct transfer of views under VV * zero copy It also eliminates the need for sentry to keep a slice of view because userspace had requested a read that is smaller than the view returned, removing the complexity there. Read/Peek/ReadPacket are now consolidated together and some duplicate code is removed. PiperOrigin-RevId: 350636322
2021-01-07Add runsc build job to BuildKite.Zach Koopmans
PiperOrigin-RevId: 350619346
2021-01-07Merge pull request #5213 from prattmic:pkg.go.devgVisor bot
PiperOrigin-RevId: 350614888
2021-01-07Implement the semtimedop syscallAndrei Vagin
Signed-off-by: Andrei Vagin <avagin@gmail.com>
2021-01-07Update link to benchmarksFabricio Voznika
Closes #5192 PiperOrigin-RevId: 350578130
2021-01-07website: redirect module to pkg.go.devMichael Pratt
Add redirects from any module package path to its corressponding pkg.go.dev documentation. e.g., gvisor.dev/gvisor/pkg/sentry/kernel -> https://pkg.go.dev/gvisor.dev/gvisor/pkg/sentry/kernel. This is a handy way to get to documentation, also used by other vanity domains, like golang.org/x/tools.
2021-01-07Fix native benchmarks.Adin Scannell
PiperOrigin-RevId: 350509137
2021-01-06Export a pprof visualization endpoint.Adin Scannell
This allows us to link directly to profiling results from the build results. The code uses the standard pprof http server, exported from the Cloud Run instance. PiperOrigin-RevId: 350440910
2021-01-06Don't canonicalize cache directory.Adin Scannell
... Otherwise it will be mounted in via some other path, and will not be available inside the container at all. PiperOrigin-RevId: 350440843
2021-01-06Run external networking testKevin Krakauer
PiperOrigin-RevId: 350438564
2021-01-06Do not filter frames in ethernet link endpointGhanan Gowripalan
Ethernet frames are usually filtered at the hardware-level so there is no need to filter the frames in software. For test purposes, a new link endpoint was introduced to filter frames based on their destination. PiperOrigin-RevId: 350422941
2021-01-06Support add/remove IPv6 multicast group sock optGhanan Gowripalan
IPv4 was always supported but UDP never supported joining/leaving IPv6 multicast groups via socket options. Add: IPPROTO_IPV6, IPV6_JOIN_GROUP/IPV6_ADD_MEMBERSHIP Remove: IPPROTO_IPV6, IPV6_LEAVE_GROUP/IPV6_DROP_MEMBERSHIP Test: integration_test.TestUDPAddRemoveMembershipSocketOption PiperOrigin-RevId: 350396072
2021-01-06Merge pull request #5177 from lubinszARM:pr_kernel_globalgVisor bot
PiperOrigin-RevId: 350375461
2021-01-06Include objdump failures in test output.Michael Pratt
We log a warning if objdump fails, but this appears in the build log, not test log, which can make it hard to notice. Include it with the actual escape output as context on "(possible)" to make it more clear when something is wrong. PiperOrigin-RevId: 350355759
2021-01-05Make build command more robust.Adin Scannell
This returns all targets, and handles no targets. PiperOrigin-RevId: 350263578
2021-01-05Make type sanity checking happen only in race builds.Adin Scannell
This adds significant costs to startup, since it is done for every type in the system. Since the state package already saves sanity checks for race builds, use this for type registration. PiperOrigin-RevId: 350259336
2021-01-05Don't check that msg_flags contains MSG_ERRQUEUE on gvisor platforms.Andrei Vagin
PiperOrigin-RevId: 350246333
2021-01-05Fix panic when parsing SO_TIMESTAMP cmsgKevin Krakauer
PiperOrigin-RevId: 350223482
2021-01-05Add benchmarks targets to BuildKite.Adin Scannell
This includes minor fix-ups: * Handle SIGTERM in runsc debug, to exit gracefully. * Fix cmd.debug.go opening all profiles as RDONLY. * Fix the test name in fio_test.go, and encode the block size in the test. PiperOrigin-RevId: 350205718
2021-01-05Merge pull request #5169 from laijs:fix-typo-whicygVisor bot
PiperOrigin-RevId: 350200437
2021-01-05Change the build badge to point to BuildKite.Adin Scannell
PiperOrigin-RevId: 350197814
2021-01-05Add YAML validation for configuration files.Adin Scannell
For validation, the "on" key in existing YAML files is changed to a literal string. In the YAML spec, on is a keyword which encodes a boolean value, so without relying on a specific implementation the YAML files are technically not encoding an object that complies with the specification. PiperOrigin-RevId: 350172147
2021-01-05Internal changes.Andrei Vagin
PiperOrigin-RevId: 350159657
2021-01-05fs/fuse: check that a task has a specified file descriptorAndrei Vagin
Reported-by: syzbot+814105309d2ae8651084@syzkaller.appspotmail.com PiperOrigin-RevId: 350159452
2020-12-31Add missing error checks for FileDescription.Init.Dean Deng
Syzkaller discovered this bug in pipefs by doing something quite strange: creat(&(0x7f0000002a00)='./file1\x00', 0x0) mount(&(0x7f0000000440)=ANY=[], &(0x7f00000002c0)='./file1\x00', &(0x7f0000000300)='devtmpfs\x00', 0x20000d, 0x0) creat(&(0x7f0000000000)='./file1/file0\x00', 0x0) This can be reproduced with: touch mymount mkfifo /dev/mypipe mount -o ro -t devtmpfs devtmpfs mymount echo 123 > mymount/mypipe PiperOrigin-RevId: 349687714
2020-12-30Remove remote execution support.Adin Scannell
PiperOrigin-RevId: 349616845
2020-12-30Add test for open(2) with O_WRONLY|O_RDWR.Dean Deng
PiperOrigin-RevId: 349607959
2020-12-30Add BuildKite annotations for failures and profiles.Adin Scannell
This change cleans up some minor Makefile issues, and adds support for BuildKite annotations on failure and on profiles being generated. These annotations will make failures very clear and link to the artifacts. This change is a stepping stone for aggregating coverage data from all individual test jobs, as this will also happen in .buildkite/annotate.sh. PiperOrigin-RevId: 349606598
2020-12-30Use a stable ordering for generated types.Adin Scannell
Otherwise this pollutes the 'go' branch and doesn't conform to standards for generate bazel files. PiperOrigin-RevId: 349605037
2020-12-30Fix condition checking in `runsc debug`Fabricio Voznika
Closes #5052 PiperOrigin-RevId: 349579814
2020-12-29Add continuous VFS1 tests.Adin Scannell
PiperOrigin-RevId: 349517093
2020-12-29Deflake TestBindOverlay in //test/e2e:integration_testTing-Yu Wang
Test failure happens when `echo` writes late: * Server nc shuts down write when it sees EOF from stdin. * Client nc closes the connection when it detects EOF from socket and no data in internal write buffer. Using `-q` flag to make server not shutting down write in the beginning, while letting connection to be closed by client. As `-q` flag's default value varies in different netcat versions, we always specify it to prevent future breakage. PiperOrigin-RevId: 349504016
2020-12-29Simplify profiling and benchmarks.Adin Scannell
- Tweak the benchmarks to work with b.N where appropriate. In many cases, b.N was simply being ignored. This creates an implicit dependency in the user passing a reasonable benchtime (less than or equal to the actual runtime of the test, or using the X syntax) otherwise the test runs forever. - In cases where the above is impossible, explicitly set benchtime from the test wrapper, to prevent the above behavior (tensorflow). - Drop the *Reverse variants, which are simply hey benchmarks. We should just add a hey benchmark. The platforms benchmarks already include a native platform, and thus these benchmarks are incredibly confusing. (In other words, BenchmarkNginxReverse has nothing to do with an nginx benchmark for runsc.) - Remove the redunant Harness object, which contains no state, in order to slightly simplify the code. - Make Block and Heap profiling actually work, but setting appropriate runtime parameters (and plumbing them through the config). - Split the profiling into two phases: start and stop, since some will need to be started early, and others will need to happen at the end. PiperOrigin-RevId: 349495377