Re: [PATCH 0/4] ntsync documentation, selftests, and owner validation

From: Elizabeth Figura

Date: Wed Jul 01 2026 - 12:50:45 EST


On Saturday, 27 June 2026 21:42:35 CDT Iván Ezequiel Rodriguez wrote:
> This series improves ntsync without changing wait/wake semantics:
>
> 1/4 — Align Documentation/userspace-api/ntsync.rst with
> include/uapi/linux/ntsync.h (ioctl macro names and struct layout).
>
> 2/4 — Fix wake_all selftest: CREATE_EVENT returns an fd, not zero.
>
> 3/4 — Add selftests for documented EINVAL cases (zero owner, non-zero
> pad, cross-instance object use).
>
> 4/4 — Reject wait ioctls when owner is zero, matching the documented
> uAPI (3/4 depends on 4/4 for the owner tests).
>
> Patch 4/4 closes a spec gap: Documentation/userspace-api/ntsync.rst
> requires EINVAL when wait owner is zero, but setup_wait() only validated
> pad and flags. Unlock/kill mutex ioctls already reject owner == 0.
>
> Testing:
> - scripts/checkpatch.pl --strict --no-tree: clean (4/4 patches)
> - make headers && make -C tools/testing/selftests TARGETS=drivers/ntsync
> - Kernel 7.1.0-ntsync-test+ (CONFIG_NTSYNC=y), QEMU x86_64 initramfs:
> tools/testing/selftests/drivers/ntsync/ntsync — 12/12 PASS,
> including wake_all and wait_args_validation
> - On 6.17.0-35-generic with the distro ntsync.ko (without patch 4/4):
> wait_args_validation fails on owner==0 (wait proceeds instead of
> EINVAL), confirming the gap this series fixes
>
> Elizabeth Figura <zfigura@xxxxxxxxxxxxxxx>
> wine-devel@xxxxxxxxxx
> ---
> Documentation/userspace-api/ntsync.rst | 22 +++++-----
> tools/testing/selftests/drivers/ntsync/ntsync.c | 45 ++++++++++++++++++++
> drivers/misc/ntsync.c | 3 ++
> 3 files changed, 59 insertions(+), 11 deletions(-)
>
> Iván Ezequiel Rodriguez (4):
> docs: ntsync: align uAPI ioctl names and struct layout with ntsync.h
> selftests: ntsync: fix wake_all CREATE_EVENT fd expectation
> selftests: ntsync: add wait argument validation tests
> ntsync: reject wait ioctls with zero owner
>
> --
> 2.43.0
>

Some of these changes overlap with changes already sent in <https://lore.kernel.org/all/20250314071454.201697-1-suhui@xxxxxxxxxxxx/>, which were never applied. This series does not overlap with patches 2/4 and 3/4 from that series.