mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-30 20:35:03 +01:00
The DEVX_SUBSCRIBE_EVENT redirect path resolved the user's eventfd with fdget(), which on FreeBSD only finds LinuxKPI files. rdma-core creates the eventfd with the native FreeBSD eventfd(2), so the lookup failed and subscription returned EBADF; the delivery side likewise assumed a LinuxKPI-pollable file. Use the LinuxKPI eventfd_ctx API instead: eventfd_ctx_fdget() resolves the native eventfd, eventfd_signal() notifies it, and eventfd_ctx_put() releases it. DEVX async events can then be delivered through a redirect eventfd. Reviewed by: kib Sponsored by: Nvidia networking MFC after: 1 month