freebsd-dev/sys/compat/linux
Vladimir Kondratyev b3c6fe663b epoll: Store epoll_event udata member in ext member of kevent.
Current epoll implementation stores udata fields of epoll_event
structure in special dynamically-sized table rather than in udata field
of backing kevent structure because of 2 reasons:
1. Kevent's udata size is smaller than epoll's on 32-bit archs.
2. Kevent's udata can be clobbered on execution EPOLL_CTL_ADD as kqueue
   modifies existing event while epoll returns error in this case.

After r320043 has introduced four new 64bit user data members (ext[]),
we can store epoll udata in one of them and drop aforementioned table.
According to kqueue_register() source code ext members are not updated
when existing kevent is modified that fixes p.2.

As a side effect the patch fixes PR/252582.

Reviewed by:	trasz
MFC after:	1 month
Differential revision:	https://reviews.freebsd.org/D28169
2021-02-08 02:46:14 +03:00
..
check_error.d
check_internal_locks.d
linux_common.c Move V4L feature declarations and DTrace provider definitions from 2020-12-06 10:58:55 +00:00
linux_common.h Our bsd_to_linux_sockaddr() and linux_to_bsd_sockaddr() functions 2019-05-13 17:48:16 +00:00
linux_dtrace.h
linux_dummy.c linux(4): Implement name_to_handle_at(), open_by_handle_at() 2020-11-17 19:51:47 +00:00
linux_emul.c epoll: Store epoll_event udata member in ext member of kevent. 2021-02-08 02:46:14 +03:00
linux_emul.h epoll: Store epoll_event udata member in ext member of kevent. 2021-02-08 02:46:14 +03:00
linux_errno.c Add linux_to_bsd_errtbl[], mapping Linux errnos to their BSD counterparts. 2020-11-04 19:54:18 +00:00
linux_errno.h Unbreak buildworld after r367339. 2020-11-04 21:39:04 +00:00
linux_errno.inc Add linux_to_bsd_errtbl[], mapping Linux errnos to their BSD counterparts. 2020-11-04 19:54:18 +00:00
linux_event.c epoll: Store epoll_event udata member in ext member of kevent. 2021-02-08 02:46:14 +03:00
linux_event.h Linux epoll: Register events with zero event mask 2019-11-24 20:47:40 +00:00
linux_file.c linux: remove spurious newline. 2021-01-19 09:56:45 +00:00
linux_file.h linux(4): Implement name_to_handle_at(), open_by_handle_at() 2020-11-17 19:51:47 +00:00
linux_fork.c linux(4) clone(2): Correctly handle CLONE_FS and CLONE_FILES 2020-11-17 21:20:11 +00:00
linux_futex.c compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
linux_futex.h linux: futex_mtx should follow futex_list 2019-10-18 12:25:33 +00:00
linux_getcwd.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
linux_ioctl.c Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
linux_ioctl.h linux(4): Quiesce unrecognized ioctl warning for F2FS query 2020-11-02 18:45:43 +00:00
linux_ipc64.h
linux_ipc.c compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
linux_ipc.h Update syscall.master to 5.0. 2019-03-24 14:50:02 +00:00
linux_mib.c - add more linux socket options (sorted by value) 2020-11-08 09:50:58 +00:00
linux_mib.h linux: bump the default version from 3.10.0 to 3.17.0 2021-01-13 10:02:16 +00:00
linux_misc.c linux: mute the "unsupported prctl option 23" warnings 2021-01-13 10:31:56 +00:00
linux_misc.h linux: mute the "unsupported prctl option 23" warnings 2021-01-13 10:31:56 +00:00
linux_mmap.c Rename kern_mmap_req to kern_mmap 2021-01-25 21:50:37 +00:00
linux_mmap.h Add linux_madvise(2) instead of having Linux apps call the native 2020-06-20 18:29:22 +00:00
linux_persona.h
linux_signal.c compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
linux_signal.h
linux_socket.c linux: add support for SO_PEERSEC getsockopt 2021-02-07 20:42:04 +00:00
linux_socket.h linux: add support for SO_PEERSEC getsockopt 2021-02-07 20:42:04 +00:00
linux_stats.c Fix potential race condition in linux stat(2). 2020-10-20 17:19:10 +00:00
linux_sysctl.c Quiet unused fn warning for linuxulator w/o legacy syscalls 2018-06-25 19:24:50 +00:00
linux_sysproto.h
linux_time.c compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
linux_timer.c compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
linux_timer.h Centralize compatability translation macros. 2020-04-14 20:30:48 +00:00
linux_uid16.c linux: add sysctl compat.linux.use_emul_path 2020-08-18 22:04:22 +00:00
linux_util.c Move V4L feature declarations and DTrace provider definitions from 2020-12-06 10:58:55 +00:00
linux_util.h - add more linux socket options (sorted by value) 2020-11-08 09:50:58 +00:00
linux_vdso.c compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
linux_vdso.h
linux_videodev2_compat.h
linux_videodev_compat.h
linux.c linuxolator: implement memfd_create syscall 2020-06-29 03:09:14 +00:00
linux.h linux(4): Improve netlink diagnostics 2020-11-03 19:50:42 +00:00
stats_timing.d
trace_futexes.d