[LTP] [PATCH v8 0/4] futex: Add error coverage tests for wait, wake and cmp_requeue

Michael Menasherov mmenashe@redhat.com
Mon May 25 16:44:13 CEST 2026


Improve error handling coverage for futex syscalls by adding tests
for missing error conditions that were previously untested.

futex_wait06 verifies EFAULT is returned when uaddr or timeout
points to unmapped memory.

futex_wait07 verifies EINTR is returned when futex_wait() is
interrupted by a signal.

futex_wake05 verifies EFAULT is returned when uaddr points to
unmapped or PROT_NONE memory.

futex_cmp_requeue03 verifies EFAULT is returned when uaddr or
uaddr2 points to unmapped or inaccessible (PROT_NONE) memory.

v8:
 - Move runtest/syscalls entries to alongside existing futex tests
   (after futex_wait_bitset01), not under the kernel memory leak comment
 - Expand futex_wake05 comment to explain why PROT_NONE triggers EFAULT
   despite futex_wake() never reading *uaddr (shared-futex path requires
   physical page resolution via get_futex_key())
 - Remove trailing blank line in futex_cmp_requeue03 setup()

Michael Menasherov (4):
  futex_wait06: Add EFAULT error coverage test
  futex_wait07: Add EINTR error coverage test
  futex_wake05: Add EFAULT error coverage test
  futex_cmp_requeue03: Add EFAULT error coverage test

 runtest/syscalls                              |  4 +
 testcases/kernel/syscalls/futex/.gitignore    |  4 +
 .../syscalls/futex/futex_cmp_requeue03.c      | 95 +++++++++++++++++++
 .../kernel/syscalls/futex/futex_wait06.c      | 75 +++++++++++++++
 .../kernel/syscalls/futex/futex_wait07.c      | 87 +++++++++++++++++
 .../kernel/syscalls/futex/futex_wake05.c      | 87 +++++++++++++++++
 6 files changed, 352 insertions(+)
 create mode 100644 testcases/kernel/syscalls/futex/futex_cmp_requeue03.c
 create mode 100644 testcases/kernel/syscalls/futex/futex_wait06.c
 create mode 100644 testcases/kernel/syscalls/futex/futex_wait07.c
 create mode 100644 testcases/kernel/syscalls/futex/futex_wake05.c

-- 
2.54.0



More information about the ltp mailing list