Commit Graph

3380 Commits

Author SHA1 Message Date
gVisor bot c615faaee4 Merge pull request #2855 from ridwanmsharif:ridwanmsharif/fuse-doc-edit
PiperOrigin-RevId: 314449030
2020-06-02 19:08:49 -07:00
Michael Pratt 43279c6734 Fix typos
PiperOrigin-RevId: 314415253
2020-06-02 15:29:26 -07:00
gVisor bot b062821d3e Merge pull request #2837 from avagin:make-startup-option
PiperOrigin-RevId: 314415164
2020-06-02 15:24:33 -07:00
Ridwan Sharif 5173c96021 Add some detail to milestone #1
This change adds more information about what needs to be done
to implement `/dev/fuse`
2020-06-02 22:13:21 +00:00
Andrei Vagin 5e4d7072a6 make: Allow to specify bazel startup options.
And don't parse binary paths for the build target.

Signed-off-by: Andrei Vagin <avagin@gmail.com>
2020-06-02 11:30:26 -07:00
Fabricio Voznika 4b5eae39f2 Enable VFS2 to runsc syscall tests
Updates #1487

PiperOrigin-RevId: 314271995
2020-06-01 23:03:20 -07:00
Fabricio Voznika ca5912d13c More runsc changes for VFS2
- Add /tmp handling
- Apply mount options
- Enable more container_test tests
- Forward signals to child process when test respaws process
  to run as root inside namespace.

Updates #1487

PiperOrigin-RevId: 314263281
2020-06-01 21:32:09 -07:00
Dean Deng 050d8e6e33 Add inotify events for extended attributes and splice.
Splice, setxattr and removexattr should generate events. Note that VFS2 already
generates events for extended attributes.

Updates #1479.

PiperOrigin-RevId: 314244261
2020-06-01 18:31:59 -07:00
Jamie Liu 49a9b78f74 Fix VFS2 gofer open(O_CREAT) reference leak.
gofer.filesystem.createAndOpenChildLocked() doesn't need to take a reference on
the new dentry since vfs.FileDescription.Init() will do so.

PiperOrigin-RevId: 314242127
2020-06-01 18:13:01 -07:00
Jamie Liu 3a987160aa Handle gofer blocking opens of host named pipes in VFS2.
Using tee instead of read to detect when a O_RDONLY|O_NONBLOCK pipe FD has a
writer circumvents the problem of what to do with the byte read from the pipe,
avoiding much of the complexity of the fdpipe package.

PiperOrigin-RevId: 314216146
2020-06-01 15:33:30 -07:00
Nicolas Lacasse 6ef5924725 Deflake pty_test_linux.
PiperOrigin-RevId: 314208973
2020-06-01 14:55:42 -07:00
Michael Pratt 12f74bd6f6 Include runtime goroutines in panics
SetTraceback("all") does not include all goroutines in panics (you didn't think
it was that simple, did you?). It includes all _user_ goroutines; those started
by the runtime (such as GC workers) are excluded.

Switch to "system" to additionally include runtime goroutines, which are useful
to track down bugs in the runtime itself.

PiperOrigin-RevId: 314204473
2020-06-01 14:32:19 -07:00
Dean Deng 35a3f462d9 Fix inotify test.
PiperOrigin-RevId: 314192441
2020-06-01 13:35:30 -07:00
Dean Deng 07c3b1dc55 Skip proc/pid/fd socket test for VFS1 only.
PiperOrigin-RevId: 314192359
2020-06-01 13:30:39 -07:00
gVisor bot 288a1ca6f0 Merge pull request #2689 from lubinszARM:pr_prot_none
PiperOrigin-RevId: 314186752
2020-06-01 13:02:14 -07:00
Fabricio Voznika 16100d18cb Make gofer mount readonly when overlay is enabled
No writes are expected to the underlying filesystem when
using --overlay.

PiperOrigin-RevId: 314171457
2020-06-01 11:44:32 -07:00
gVisor bot 474d9b2609 Internal change.
PiperOrigin-RevId: 314157710
2020-06-01 10:41:57 -07:00
Adin Scannell 2c6c4365ea Move to make for tag release workflow.
This will make tag & release workflows idempotent.

PiperOrigin-RevId: 314154888
2020-06-01 10:31:26 -07:00
Bhasker Hariharan 839208f118 Enable TCP Receive buffer moderation in gonet and benchmark.
Fixes #1666

PiperOrigin-RevId: 314148384
2020-06-01 10:29:47 -07:00
Zeling Feng a9b47390c8 Test TCP should queue RECEIVE request in SYN-SENT
PiperOrigin-RevId: 313878910
2020-05-29 17:24:20 -07:00
Nicolas Lacasse 93edb36cbb Refactor the ResolveExecutablePath logic.
PiperOrigin-RevId: 313871804
2020-05-29 16:35:21 -07:00
Michael Pratt 65569cfca0 Update Go version build tags
None of the dependencies have changed in 1.15. It may be possible to simplify
some of the wrappers in rawfile following 1.13, but that can come in a later
change.

PiperOrigin-RevId: 313863264
2020-05-29 15:44:07 -07:00
Kevin Krakauer 790811f757 Fix copied comment mistakes.
PiperOrigin-RevId: 313862843
2020-05-29 15:39:17 -07:00
gVisor bot 3bcfb09263 Merge pull request #2807 from kevinGC:iptables-source
PiperOrigin-RevId: 313842690
2020-05-29 13:43:58 -07:00
Adin Scannell c017ca8138 Fix issue with make copy targets.
PiperOrigin-RevId: 313838809
2020-05-29 13:21:20 -07:00
Ting-Yu Wang 341be65421 Update WritePacket* API to take ownership of packets to be written.
Updates #2404.

PiperOrigin-RevId: 313834784
2020-05-29 13:00:30 -07:00
gVisor bot f498e46ef9 Merge pull request #2767 from mikaelmello:add-cwd-option-spec
PiperOrigin-RevId: 313828906
2020-05-29 12:34:45 -07:00
Mithun Iyer 089c88f2e8 Move TCP to CLOSED from SYN-RCVD on RST.
RST handling is broken when the TCP state transitions
from SYN-SENT to SYN-RCVD in case of simultaneous open.
An incoming RST should trigger cleanup of the endpoint.
RFC793, section 3.9, page 70.

Fixes #2814

PiperOrigin-RevId: 313828777
2020-05-29 12:33:28 -07:00
Dean Deng ccf69bdd7e Implement IN_EXCL_UNLINK inotify option in vfs2.
Limited to tmpfs. Inotify support in other filesystem implementations to
follow.

Updates #1479

PiperOrigin-RevId: 313828648
2020-05-29 12:28:49 -07:00
gVisor bot 0baba92ad9 Internal change.
PiperOrigin-RevId: 313821986
2020-05-29 11:52:22 -07:00
Dean Deng 9ada8c972e Fix the smallest of typos.
PiperOrigin-RevId: 313817646
2020-05-29 11:35:09 -07:00
Adin Scannell 04a1f431e3 Fix the APT repository structure.
This change fixes the apt repository structure to avoid emiting warnings on
Ubuntu 18.04 (and potentially other versions). This requires a slight refactor
of the repository generation scripts, since we can no longer copy the same
release files for different "suites".

This should avoid the warning by setting the suite to the distribution:
  https://github.com/Debian/apt/blob/master/apt-pkg/metaindex.cc#L75

This change also moves over to the standardized Makefile entrypoint, which
makes settings clearer and enables local testing.

PiperOrigin-RevId: 313817017
2020-05-29 11:30:02 -07:00
gVisor bot 9edfb52ba5 Merge pull request #2817 from gaurav1086:runner_fix_goroutine_leak
PiperOrigin-RevId: 313816987
2020-05-29 11:25:04 -07:00
Gaurav Singh a2b3b67b3f runner: fix goroutine leak
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-05-29 12:36:49 -04:00
Dean Deng fe464f44b7 Port inotify to vfs2, with support in tmpfs.
Support in other filesystem impls is still needed. Unlike in Linux and vfs1, we
need to plumb inotify down to each filesystem implementation in order to keep
track of links/inode structures properly.

IN_EXCL_UNLINK still needs to be implemented, as well as a few inotify hooks
that are not present in either vfs1 or vfs2. Those will be addressed in
subsequent changes.

Updates #1479.

PiperOrigin-RevId: 313781995
2020-05-29 08:09:14 -07:00
Jamie Liu 50844fee29 Split VFS.MountAt into VFS.MountDisconnected and VFS.ConnectMountAt.
This makes it straightforward to create bind mounts internally in VFS2: Given a
bind mount root represented by vfs.VirtualDentry vd:

- Create a new mount with VFS.NewDisconnectedMount(vd.Mount().Filesystem(),
  vd.Dentry()).

- Connect the resulting mount in the appropriate namespace with
  VFS.ConnectMountAt().

Note that the resulting bind mount is non-recursive; recursive bind mounting
requires explicitly duplicating all children of the original mount, which is
best handled internally by VFS.

Updates #179

PiperOrigin-RevId: 313703963
2020-05-28 19:16:06 -07:00
Kevin Krakauer c55b84e16a Enable iptables source filtering (-s/--source) 2020-05-28 17:45:47 -07:00
Fabricio Voznika f7418e2159 Move Cleanup to its own package
PiperOrigin-RevId: 313663382
2020-05-28 14:49:06 -07:00
Ian Gudger 7b79370c10 Add pcap logging to pcaketimpact.
This makes debugging packetimpact tests much easier.

PiperOrigin-RevId: 313662654
2020-05-28 14:43:48 -07:00
gVisor bot 226cba97fb Merge pull request #2771 from amscanne:fix_build
PiperOrigin-RevId: 313652557
2020-05-28 13:49:31 -07:00
Fabricio Voznika a8c1b32660 Automated rollback of changelist 309082540
PiperOrigin-RevId: 313636920
2020-05-28 12:25:57 -07:00
gVisor bot 2fe14b484a Merge pull request #2792 from avagin:g3doc/fuse/refs
PiperOrigin-RevId: 313600051
2020-05-28 09:21:31 -07:00
Dean Deng 32021bce96 Correctly update link and ref counts in rmdir.
Inotify sends events when a watch target is reaches a link count of 0 (see
include/linux/fsnotify.h:fsnotify_inoderemove). Currently, we do not account
for both dir/ and dir/.. in unlink, causing
syscalls/linux/inotify.cc:WatchTargetDeletionGeneratesEvent to fail because
the expected inotify events are not generated.

Furthermore, we should DecRef() once the inode reaches zero links; otherwise,
we will leak a reference.

PiperOrigin-RevId: 313502091
2020-05-27 18:19:38 -07:00
Sam Balana 835e8c89a5 Remove linkEP from DeliverNetworkPacket
The specified LinkEndpoint is not being used in a significant way.
No behavior change, existing tests pass.

This change is a breaking change.

PiperOrigin-RevId: 313496602
2020-05-27 17:35:46 -07:00
Adin Scannell 26bbecf00f Ensure sitemap is generated.
PiperOrigin-RevId: 313478820
2020-05-27 15:47:30 -07:00
Adin Scannell 0bc022b7f3 Fix push for Go branch.
PiperOrigin-RevId: 313419745
2020-05-27 10:49:04 -07:00
Kevin Krakauer f47598d4ca Fix tiny typo.
PiperOrigin-RevId: 313414690
2020-05-27 10:24:40 -07:00
Andrei Vagin 17d500f907 g3doc/fuse: add more references 2020-05-27 10:16:09 -07:00
gVisor bot c826bb3502 Merge pull request #2748 from amscanne:go_branch
PiperOrigin-RevId: 313404235
2020-05-27 09:32:50 -07:00
Jamie Liu e028714a0d Support dfltuid and dfltgid mount options in the VFS2 gofer client.
PiperOrigin-RevId: 313332542
2020-05-26 22:44:31 -07:00