gvisor/pkg/sentry/syscalls/linux
Michael Pratt 08d99c5fbe Convert poll/select to operate more directly on linux.PollFD
Current, doPoll copies the user struct pollfd array into a
[]syscalls.PollFD, which contains internal kdefs.FD and
waiter.EventMask types. While these are currently binary-compatible with
the Linux versions, we generally discourage copying directly to internal
types (someone may inadvertantly change kdefs.FD to uint64).

Instead, copy directly to a []linux.PollFD, which will certainly be
binary compatible. Most of syscalls/polling.go is included directly into
syscalls/linux/sys_poll.go, as it can then operate directly on
linux.PollFD. The additional syscalls.PollFD type is providing little
value.

I've also added explicit conversion functions for waiter.EventMask,
which creates the possibility of a different binary format.

PiperOrigin-RevId: 244042947
Change-Id: I24e5b642002a32b3afb95a9dcb80d4acd1288abf
2019-04-17 12:15:01 -07:00
..
BUILD
error.go Internal change 2019-04-10 18:00:18 -07:00
flags.go
linux64.go Add syscall annotations for unimplemented syscalls 2019-04-03 03:10:23 -07:00
sigset.go
sys_aio.go
sys_capability.go
sys_epoll.go Convert poll/select to operate more directly on linux.PollFD 2019-04-17 12:15:01 -07:00
sys_eventfd.go
sys_file.go syscalls: sendfile: limit the count to MAX_RW_COUNT 2019-04-09 14:57:05 -07:00
sys_futex.go
sys_getdents.go
sys_identity.go
sys_inotify.go
sys_lseek.go
sys_mmap.go
sys_mount.go gvisor: Add support for the MS_NOEXEC mount option 2019-04-04 17:43:53 -07:00
sys_pipe.go
sys_poll.go Convert poll/select to operate more directly on linux.PollFD 2019-04-17 12:15:01 -07:00
sys_prctl.go Use kernel.Task.CopyScratchBuffer in syscalls/linux where possible. 2019-03-29 16:25:33 -07:00
sys_random.go
sys_read.go
sys_rlimit.go Allow threads with CAP_SYS_RESOURCE to raise hard rlimits. 2019-04-10 12:36:45 -07:00
sys_rusage.go
sys_sched.go
sys_seccomp.go
sys_sem.go
sys_shm.go
sys_signal.go
sys_socket.go Use kernel.Task.CopyScratchBuffer in syscalls/linux where possible. 2019-03-29 16:25:33 -07:00
sys_stat.go Use open fids when fstat()ing gofer files. 2019-04-11 00:43:04 -07:00
sys_sync.go
sys_sysinfo.go
sys_syslog.go
sys_thread.go
sys_time.go
sys_timer.go
sys_timerfd.go
sys_tls.go
sys_utsname.go BUILD: Add useful go_path target 2019-04-04 17:05:38 -07:00
sys_write.go
timespec.go