summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry
AgeCommit message (Collapse)Author
2020-08-05Merge release-20200622.1-335-g87ee3898f (automated)gVisor bot
2020-08-04Handle EOF in vfs2 sendfile.Dean Deng
Discovered by syzkaller. PiperOrigin-RevId: 324938438
2020-08-05Merge release-20200622.1-334-g102735bfb (automated)gVisor bot
2020-08-04Inline gofer.regularFileFD.pwriteLockedFabricio Voznika
Go compiler barely inlines anything, so inline by hand pwriteLocked since it's called from a single place. PiperOrigin-RevId: 324937734
2020-08-05Merge release-20200622.1-333-gb44408b40 (automated)gVisor bot
2020-08-04Automated rollback of changelist 324906582Dean Deng
PiperOrigin-RevId: 324931854
2020-08-05Merge release-20200622.1-332-g338f96b36 (automated)gVisor bot
2020-08-04Merge release-20200622.1-329-g00993130e (automated)gVisor bot
2020-08-04Merge release-20200622.1-328-g0500f84b6 (automated)gVisor bot
2020-08-04Add reference counting utility to VFS2.Dean Deng
The utility has several differences from the VFS1 equivalent: - There are no weak references, which have a significant overhead - In order to print useful debug messages with the type of the reference- counted object, we use a generic Refs object with the owner type as a template parameter. In vfs1, this was accomplished by storing a type name and caller stack directly in the ref count (as in vfs1), which increases the struct size by 6x. (Note that the caller stack was needed because fs types like Dirent were shared by all fs implementations; in vfs2, each impl has its own data structures, so this is no longer necessary.) As an example, the utility is added to tmpfs.inode. Updates #1486. PiperOrigin-RevId: 324906582
2020-08-04Internal change.gVisor bot
PiperOrigin-RevId: 324826968
2020-08-04Merge release-20200622.1-318-g25798f214 (automated)gVisor bot
2020-08-03Add callbacks to support lazy loading/restoring thread statesAndrei Vagin
PiperOrigin-RevId: 324748508
2020-08-04Merge release-20200622.1-316-gad7c9fc4c (automated)gVisor bot
2020-08-03[vfs2] Implement /sys/devices/system/cpu/cpuX.Ayush Ranjan
Fixes #3364 PiperOrigin-RevId: 324724614
2020-08-03Merge release-20200622.1-315-gfe441dd25 (automated)gVisor bot
2020-08-03Internal change.gVisor bot
PiperOrigin-RevId: 324695672
2020-08-03Merge release-20200622.1-314-g5626ccf61 (automated)gVisor bot
2020-08-03Remove old TODO.Dean Deng
Fixes #2920. PiperOrigin-RevId: 324695118
2020-08-03Merge release-20200622.1-313-gb2ae7ea1b (automated)gVisor bot
2020-08-03Plumbing context.Context to DecRef() and Release().Nayana Bidari
context is passed to DecRef() and Release() which is needed for SO_LINGER implementation. PiperOrigin-RevId: 324672584
2020-08-03Merge release-20200622.1-310-g1fbbc795e (automated)gVisor bot
2020-08-03Add inotify events for fallocate and tests for fallocate/sendfile.Dean Deng
Updates #1479, #2923. PiperOrigin-RevId: 324658826
2020-07-31Merge release-20200622.1-304-gd5b31458a (automated)gVisor bot
2020-07-31Merge pull request #3300 from lubinszARM:pr_fpsimd_usrgVisor bot
PiperOrigin-RevId: 324309862
2020-07-31Merge release-20200622.1-300-ga7d9aa6d5 (automated)gVisor bot
2020-07-31Merge pull request #3348 from kevinGC:so-orig-dstgVisor bot
PiperOrigin-RevId: 324279280
2020-07-31Internal change.gVisor bot
PiperOrigin-RevId: 324259991
2020-07-31iptables: support SO_ORIGINAL_DSTKevin Krakauer
Envoy (#170) uses this to get the original destination of redirected packets.
2020-07-31Clean up vfs2 fallocate.Dean Deng
Move to setstat.go and add a FileDescription wrapper method. PiperOrigin-RevId: 324165277
2020-07-30Merge pull request #3448 from lubinszARM:pr_tls_testsgVisor bot
PiperOrigin-RevId: 324127810
2020-07-30Merge pull request #3028 from lubinszARM:pr_kvm_hello1gVisor bot
PiperOrigin-RevId: 324125938
2020-07-30Merge pull request #3179 from jinmouil:fuse_initgVisor bot
PiperOrigin-RevId: 324100220
2020-07-30Fix SETOWN_EX return value.Dean Deng
Return on success should be 0, not size of the struct copied out. PiperOrigin-RevId: 324029193
2020-07-30add usr-tls test cases for Arm64Bin Lu
Signed-off-by: Bin Lu <bin.lu@arm.com>
2020-07-29Add FUSE_INITJinmou Li
This change allows the sentry to send FUSE_INIT request and process the reply. It adds the corresponding structs, employs the fuse device to send and read the message, and stores the results of negotiation in corresponding places (inside connection struct). It adds a CallAsync() function to the FUSE connection interface: - like Call(), but it's for requests that do not expect immediate response (init, release, interrupt etc.) - will block if the connection hasn't initialized, which is the same for Call()
2020-07-29Force registration for EPOLLHUP, not EPOLLRDHUP, in vfs2's epoll.Jamie Liu
Compare Linux's fs/eventpoll.c:do_epoll_ctl(). I don't know where EPOLLRDHUP came from. PiperOrigin-RevId: 323874419
2020-07-29load/store user fpsimd on Arm64Bin Lu
full context switch: add fpsimd load/store support to container application. Signed-off-by: Bin Lu <bin.lu@arm.com>
2020-07-28Redirect TODO to GitHub issuesFabricio Voznika
PiperOrigin-RevId: 323715260
2020-07-28Merge release-20200622.1-246-g18c246359 (automated)gVisor bot
2020-07-27Fix strace for epoll event arrays.Jamie Liu
PiperOrigin-RevId: 323491461
2020-07-27Merge release-20200622.1-245-gb0eafc745 (automated)gVisor bot
2020-07-27Merge release-20200622.1-243-g1b2006083 (automated)gVisor bot
2020-07-27Merge pull request #3201 from lubinszARM:pr_sys64_2gVisor bot
PiperOrigin-RevId: 323456118
2020-07-27Merge pull request #3299 from lubinszARM:pr_asidgVisor bot
PiperOrigin-RevId: 323455097
2020-07-27Merge release-20200622.1-238-g9a4ad9d5e (automated)gVisor bot
2020-07-27Merge pull request #2958 from lubinszARM:pr_vfs2_1gVisor bot
PiperOrigin-RevId: 323443142
2020-07-27Merge release-20200622.1-236-g112eb0c5b (automated)gVisor bot
2020-07-27Add device implementation for /dev/fuseRidwan Sharif
This PR adds the following: - [x] Marshall-able structs for fuse headers - [x] Data structures needed in /dev/fuse to communicate with the daemon server - [x] Implementation of the device interface - [x] Go unit tests This change adds the `/dev/fuse` implementation. `Connection` controls the communication between the server and the sentry. The FUSE server uses the `FileDescription` interface to interact with the Sentry. The Sentry implmenetation of fusefs, uses `Connection` and the Connection interface to interact with the Server. All communication messages are in the form of `go_marshal` backed structs defined in the ABI package. This change also adds some go unit tests that test (pretty basically) the interfaces and should be used as an example of an end to end FUSE operation. COPYBARA_INTEGRATE_REVIEW=https://github.com/google/gvisor/pull/3083 from ridwanmsharif:ridwanmsharif/fuse-device-impl 69aa2ce970004938fe9f918168dfe57636ab856e PiperOrigin-RevId: 323428180
2020-07-27Merge release-20200622.1-232-gf347a578b (automated)gVisor bot