freebsd-dev/sys/compat
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
..
cloudabi Rename kern_mmap_req to kern_mmap 2021-01-25 21:50:37 +00:00
cloudabi32 Regen after r366145. 2020-09-25 10:05:38 +00:00
cloudabi64 Regen after r366145. 2020-09-25 10:05:38 +00:00
freebsd32 Rename kern_mmap_req to kern_mmap 2021-01-25 21:50:37 +00:00
ia32 random(4) FenestrasX: Push root seed version to arc4random(3) 2020-10-10 21:52:00 +00:00
lindebugfs Add emulation support for the Linux kcov(4) ioctl API. 2020-09-04 00:12:28 +00:00
linprocfs Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
linsysfs Add emulation support for the Linux kcov(4) ioctl API. 2020-09-04 00:12:28 +00:00
linux epoll: Store epoll_event udata member in ext member of kevent. 2021-02-08 02:46:14 +03:00
linuxkpi/common Fix race condition in linuxkpi workqueue 2021-02-04 13:54:53 -05:00
x86bios Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00