diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-02-14 16:19:00 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-02-14 16:19:48 -0800 |
commit | a5069f820f22734b6c466068a02bbbe83ba091da (patch) | |
tree | e2358422fa7cd376c9d8a2d27e74d525b8c0b1ac /pkg/sentry/syscalls/linux/sys_epoll.go | |
parent | 5baf9dc2fbb459828b4102b0a1c5214879434c03 (diff) |
Remove linux.EpollEvent.Fd.
glibc defines struct epoll_event in such a way that epoll_event.data.fd exists.
However, the kernel's definition of struct epoll_event makes epoll_event.data
an opaque uint64, so naming half of it "fd" just introduces confusion. Remove
the Fd field, and make Data a [2]int32 to compensate.
Also add required padding to linux.EpollEvent on ARM64.
PiperOrigin-RevId: 295250424
Diffstat (limited to 'pkg/sentry/syscalls/linux/sys_epoll.go')
-rw-r--r-- | pkg/sentry/syscalls/linux/sys_epoll.go | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/pkg/sentry/syscalls/linux/sys_epoll.go b/pkg/sentry/syscalls/linux/sys_epoll.go index 5f11b496c..fbef5b376 100644 --- a/pkg/sentry/syscalls/linux/sys_epoll.go +++ b/pkg/sentry/syscalls/linux/sys_epoll.go @@ -83,8 +83,7 @@ func EpollCtl(t *kernel.Task, args arch.SyscallArguments) (uintptr, *kernel.Sysc } mask = waiter.EventMaskFromLinux(e.Events) - data[0] = e.Fd - data[1] = e.Data + data = e.Data } // Perform the requested operations. |