Commit Graph

33 Commits

Author SHA1 Message Date
gVisor bot 08cc017c08 Merge release-20210322.0-29-g8a2f7e716 (automated) 2021-03-29 20:35:44 +00:00
Zach Koopmans 8a2f7e716d [syserror] Split usermem package
Split usermem package to help remove syserror dependency in go_marshal.
New hostarch package contains code not dependent on syserror.

PiperOrigin-RevId: 365651233
2021-03-29 13:30:21 -07:00
gVisor bot e48ad2ada0 Merge release-20210315.0-15-gacb4c6288 (automated) 2021-03-23 19:03:20 +00:00
gVisor bot aae5455fe3 Merge release-20210301.0-5-ga9441aea2 (automated) 2021-03-03 18:43:27 +00:00
Ayush Ranjan a9441aea27 [op] Replace syscall package usage with golang.org/x/sys/unix in pkg/.
The syscall package has been deprecated in favor of golang.org/x/sys.

Note that syscall is still used in the following places:
- pkg/sentry/socket/hostinet/stack.go: some netlink related functionalities
  are not yet available in golang.org/x/sys.
- syscall.Stat_t is still used in some places because os.FileInfo.Sys() still
  returns it and not unix.Stat_t.

Updates #214

PiperOrigin-RevId: 360701387
2021-03-03 10:25:58 -08:00
gVisor bot 2d9dc3c1b7 Merge release-20210208.0-64-gf051ec646 (automated) 2021-02-18 01:45:49 +00:00
Jamie Liu f051ec6463 Add gohacks.Slice/StringHeader.
See https://github.com/golang/go/issues/19367 for rationale. Note that the
upstream decision arrived at in that thread, while useful for some of our use
cases, doesn't account for all of our SliceHeader use cases (we often use
SliceHeader to extract pointers from slices in a way that avoids bounds
checking and/or handles nil slices correctly) and also doesn't exist yet.

PiperOrigin-RevId: 358071574
2021-02-17 17:41:10 -08:00
gVisor bot 993bee6697 Merge release-20210112.0-74-g6c0e1d9cf (automated) 2021-01-22 20:40:39 +00:00
Tamir Duberstein 6c0e1d9cfe Define tcpip.Payloader in terms of io.Reader
Fixes #1509.

PiperOrigin-RevId: 353295589
2021-01-22 12:26:09 -08:00
gVisor bot 3f46e58c75 Merge release-20201216.0-85-ge06c2b126 (automated) 2021-01-12 01:07:50 +00:00
gVisor bot d9633d110e Merge release-20201208.0-31-g4cba3904f (automated) 2020-12-11 20:14:08 +00:00
Adin Scannell 4cba3904f4 Remove existing nogo exceptions.
PiperOrigin-RevId: 347047550
2020-12-11 12:06:49 -08:00
gVisor bot 69aa120d40 Merge release-20200928.0-78-g743327817 (automated) 2020-10-09 19:26:05 +00:00
gVisor bot 8f70c8003e Merge release-20200928.0-66-ga55bd73d4 (automated) 2020-10-08 01:32:17 +00:00
gVisor bot 09cba788b0 Merge release-20200921.0-74-g387501219 (automated) 2020-09-30 01:11:13 +00:00
Rahat Mahmood 387501219e Replace remaining uses of reflection-based marshalling.
- Rewrite arch.Stack.{Push,Pop}. For the most part, stack now
  implements marshal.CopyContext and can be used as the target of
  marshal operations. Stack.Push had some extra logic for
  automatically null-terminating slices. This was only used for two
  specific types of slices, and is now handled explicitly.

- Delete usermem.CopyObject{In,Out}.

- Replace most remaining uses of the encoding/binary package with
  go-marshal. Most of these were using the binary package to compute
  the size of a struct, which go-marshal can directly replace. ~3 uses
  of the binary package remain. These aren't reasonably replaceable by
  go-marshal: for example one use is to construct the syscall
  trampoline for systrap.

- Fill out remaining convenience wrappers in the primitive package.

PiperOrigin-RevId: 334502375
2020-09-29 18:08:07 -07:00
gVisor bot 8c844b60d2 Merge release-20200810.0-74-g129018ab3 (automated) 2020-08-20 20:36:02 +00:00
Michael Pratt 129018ab3d Consistent precondition formatting
Our "Preconditions:" blocks are very useful to determine the input invariants,
but they are bit inconsistent throughout the codebase, which makes them harder
to read (particularly cases with 5+ conditions in a single paragraph).

I've reformatted all of the cases to fit in simple rules:

1. Cases with a single condition are placed on a single line.
2. Cases with multiple conditions are placed in a bulleted list.

This format has been added to the style guide.

I've also mentioned "Postconditions:", though those are much less frequently
used, and all uses already match this style.

PiperOrigin-RevId: 327687465
2020-08-20 13:32:24 -07:00
gVisor bot 9183888b52 Merge release-20200608.0-119-g364ac92ba (automated) 2020-06-24 06:37:35 +00:00
gVisor bot 84452958e1 Merge release-20200518.0-45-g0bc022b7 (automated) 2020-05-27 17:51:40 +00:00
Dean Deng 05c89af6ed Implement mmap for host fs in vfs2.
In VFS1, both fs/host and fs/gofer used the same utils for host file mappings.
Refactor parts of fsimpl/gofer to create similar utils to share with
fsimpl/host (memory accounting code moved to fsutil, page rounding arithmetic
moved to usermem).

Updates #1476.

PiperOrigin-RevId: 312345090
2020-05-19 13:46:42 -07:00
gVisor bot 03a34f6ddd Merge release-20200422.0-51-g1f4087e (automated) 2020-05-07 20:23:43 +00:00
gVisor bot c2c8729c18 Merge release-20200323.0-134-g6a4d17a (automated) 2020-04-13 18:05:22 +00:00
Jon Budd 6a4d17a31d Remove obsolete TODOs for b/38173783
The comments in the ticket indicate that this behavior
is fine and that the ticket should be closed, so we shouldn't
need pointers to the ticket.

PiperOrigin-RevId: 306266071
2020-04-13 11:02:14 -07:00
gVisor bot 7ac96cd64f Merge release-20200323.0-48-gdb79175 (automated) 2020-04-01 17:06:15 +00:00
Michael Pratt db7917556a Fix 386 build tags
The build tag for 32-bit x86 is 386, not i386.

Updates #2298

PiperOrigin-RevId: 304206373
2020-04-01 10:00:03 -07:00
gVisor bot ed9085d4e5 Merge release-20200219.0-37-g471b15b (automated) 2020-02-25 21:40:09 +00:00
Jamie Liu 471b15b212 Port most syscalls to VFS2.
pipe and pipe2 aren't ported, pending a slight rework of pipe FDs for VFS2.
mount and umount2 aren't ported out of temporary laziness. access and faccessat
need additional FSImpl methods to implement properly, but are stubbed to
prevent googletest from CHECK-failing. Other syscalls require additional
plumbing.

Updates #1623

PiperOrigin-RevId: 297188448
2020-02-25 13:37:34 -08:00
gVisor bot b92a60b366 Merge release-20200127.0-130-g9be46e5 (automated) 2020-02-11 19:46:42 +00:00
gVisor bot 971856a978 Merge release-20200127.0-85-g1b6a12a (automated) 2020-02-06 06:49:12 +00:00
gVisor bot 02dbbe7666 Merge release-20200127.0-65-g95ce8bb (automated) 2020-02-04 22:49:52 +00:00
gVisor bot e26ce51d1a Merge release-20200115.0-110-g0e2f1b7 (automated) 2020-01-27 23:45:00 +00:00
Adin Scannell 0e2f1b7abd Update package locations.
Because the abi will depend on the core types for marshalling (usermem,
context, safemem, safecopy), these need to be flattened from the sentry
directory. These packages contain no sentry-specific details.

PiperOrigin-RevId: 291811289
2020-01-27 15:31:32 -08:00