aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ntsync/ntsync.c
Commit message (Collapse)AuthorAgeFilesLines
* ntsync(9): do not double-free obj when finstall() failedKonstantin Belousov2026-06-151-0/+1
| | | | | | Reported by: Alex S <iwtcex@gmail.com> Sponsored by: The FreeBSD Foundation MFC after: 3 days
* ntsync(9): free wait state on error from copyin of the object's arrayKonstantin Belousov2026-06-151-1/+3
| | | | | Sponsored by: The FreeBSD Foundation MFC after: 3 days
* ntsync(9): properly handle timeoutsKonstantin Belousov2026-06-151-4/+12
| | | | | | Reported by: Alex S <iwtcex@gmail.com> Sponsored by: The FreeBSD Foundation MFC after: 3 days
* ntsync: add kinfo reportingKonstantin Belousov2026-05-311-3/+44
| | | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57038
* ntsync(4)Konstantin Belousov2026-05-311-0/+1379
The driver implements the ntsync interface as specified in the Linux 7.0-rc3 document Documentation/userspace-api/ntsync.rst. Only the documentation and the userspace tests (Linux' tools/testing/selftests/drivers/ntsync/ntsync.c) were used for reference. When the documentation contradicted the tests, tests behavior was implemented. One quirk is that Linux API needs to return an error from ioctl() and to copyout the modified ioctl() argument. Our generic ioctl() is not flexible enough to implement this, so the ntsync_ioctl_copyout() hack allows to copyout the ioctl parameter directly from the ioctl method, instead of relying on the ioctl infra. The FreeBSD port of the tests, that can be compiled both on FreeBSD and Linux, is available at https://github.com/kostikbel/freebsd-ntsync-test. The Linux binary compiled with the Linux test harness, cannot be run under linuxolator due to unimplemented syscalls, but the shims in freebsd-ntsync-test can be compiled on Linux and resulting Linux/glibc binary run on linuxolator to test linux compat. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57038