public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH v2 0/5] listns() testing suite
@ 2026-03-13 11:48 Andrea Cervesato
  2026-03-13 11:48 ` [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers Andrea Cervesato
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Andrea Cervesato @ 2026-03-13 11:48 UTC (permalink / raw)
  To: Linux Test Project

This testing suite is focusing on basic listns() syscall
functionalities, since most of the complex scenarios are already covered
inside the kselftests at `tools/testing/selftests/namespaces/`.

This is the first testing suite where we started to use AI agents and
claude configuration at https://github.com/acerv/agents-config

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
Changes in v2:
- link tests to runtest file
- listns02: don't reap children before exit the test
- Link to v1: https://lore.kernel.org/r/20260313-listns-v1-0-04ef0081a377@suse.com

---
Andrea Cervesato (5):
      Update architectures syscalls identifiers
      Add listns fallback header
      Add NS_GET_ID fallback
      syscalls: add listns01 test for EFAULT on invalid address
      syscalls: add listns02 functionality test

 include/lapi/ioctl_ns.h                     |   3 +
 include/lapi/listns.h                       |  36 +++++++++
 include/lapi/syscalls/arc.in                |   2 +
 include/lapi/syscalls/arm.in                |   3 +-
 include/lapi/syscalls/arm64.in              |   2 +
 include/lapi/syscalls/i386.in               |   3 +-
 include/lapi/syscalls/loongarch64.in        |   3 +
 include/lapi/syscalls/mips64.in             |   4 +-
 include/lapi/syscalls/mips64n32.in          |   4 +-
 include/lapi/syscalls/mipso32.in            |   4 +-
 include/lapi/syscalls/parisc.in             |   3 +-
 include/lapi/syscalls/powerpc.in            |   3 +-
 include/lapi/syscalls/powerpc64.in          |   3 +-
 include/lapi/syscalls/s390.in               | 102 +++++++-------------------
 include/lapi/syscalls/s390x.in              |   4 +-
 include/lapi/syscalls/sh.in                 |   3 +-
 include/lapi/syscalls/sparc.in              |   4 +-
 include/lapi/syscalls/sparc64.in            |   4 +-
 include/lapi/syscalls/x86_64.in             |   4 +-
 runtest/syscalls                            |   3 +
 testcases/kernel/syscalls/listns/.gitignore |   2 +
 testcases/kernel/syscalls/listns/Makefile   |   7 ++
 testcases/kernel/syscalls/listns/listns01.c |  56 ++++++++++++++
 testcases/kernel/syscalls/listns/listns02.c | 109 ++++++++++++++++++++++++++++
 24 files changed, 277 insertions(+), 94 deletions(-)
---
base-commit: 712e6e47e9744a1cf60074bf90e45ef402cce90f
change-id: 20260312-listns-3f85a0d77cca

Best regards,
-- 
Andrea Cervesato <andrea.cervesato@suse.com>


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers
  2026-03-13 11:48 [LTP] [PATCH v2 0/5] listns() testing suite Andrea Cervesato
@ 2026-03-13 11:48 ` Andrea Cervesato
  2026-03-20 10:28   ` Cyril Hrubis
  2026-03-13 11:48 ` [LTP] [PATCH v2 2/5] Add listns fallback header Andrea Cervesato
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Andrea Cervesato @ 2026-03-13 11:48 UTC (permalink / raw)
  To: Linux Test Project

From: Andrea Cervesato <andrea.cervesato@suse.com>

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 include/lapi/syscalls/arc.in         |   2 +
 include/lapi/syscalls/arm.in         |   3 +-
 include/lapi/syscalls/arm64.in       |   2 +
 include/lapi/syscalls/i386.in        |   3 +-
 include/lapi/syscalls/loongarch64.in |   3 ++
 include/lapi/syscalls/mips64.in      |   4 +-
 include/lapi/syscalls/mips64n32.in   |   4 +-
 include/lapi/syscalls/mipso32.in     |   4 +-
 include/lapi/syscalls/parisc.in      |   3 +-
 include/lapi/syscalls/powerpc.in     |   3 +-
 include/lapi/syscalls/powerpc64.in   |   3 +-
 include/lapi/syscalls/s390.in        | 102 +++++++++--------------------------
 include/lapi/syscalls/s390x.in       |   4 +-
 include/lapi/syscalls/sh.in          |   3 +-
 include/lapi/syscalls/sparc.in       |   4 +-
 include/lapi/syscalls/sparc64.in     |   4 +-
 include/lapi/syscalls/x86_64.in      |   4 +-
 17 files changed, 61 insertions(+), 94 deletions(-)

diff --git a/include/lapi/syscalls/arc.in b/include/lapi/syscalls/arc.in
index 0f0fbef6be74d06abbf4f1bbf77eeaf72a1e6b71..89b04af1caf54e9b93b84c1e2bc1372f03a5d2a6 100644
--- a/include/lapi/syscalls/arc.in
+++ b/include/lapi/syscalls/arc.in
@@ -347,3 +347,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/arm.in b/include/lapi/syscalls/arm.in
index d0238dec5ecbf3849dff3b2c91ec88866dfb440c..72e07584b9fe5e09ff8661cf88db3dffcfd89720 100644
--- a/include/lapi/syscalls/arm.in
+++ b/include/lapi/syscalls/arm.in
@@ -109,7 +109,6 @@ readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -420,3 +419,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/arm64.in b/include/lapi/syscalls/arm64.in
index c76930e20df02905c9c640a749b4ec2df421c665..46dc7bbfbbce035effd41274fd4757a116a07a03 100644
--- a/include/lapi/syscalls/arm64.in
+++ b/include/lapi/syscalls/arm64.in
@@ -323,3 +323,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/i386.in b/include/lapi/syscalls/i386.in
index 38ea71fb282d9dc69914b863cba352349fd1c9b9..8905d7f43073f275f571846e900d48abe959c6d2 100644
--- a/include/lapi/syscalls/i386.in
+++ b/include/lapi/syscalls/i386.in
@@ -145,7 +145,6 @@ readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -454,3 +453,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/loongarch64.in b/include/lapi/syscalls/loongarch64.in
index 5407b86eaf738354f645f894bd95900ff614b3e1..60f77a7d1c84059f119bc1d988e9b6b89569e2f5 100644
--- a/include/lapi/syscalls/loongarch64.in
+++ b/include/lapi/syscalls/loongarch64.in
@@ -297,6 +297,7 @@ quotactl_fd 443
 landlock_create_ruleset 444
 landlock_add_rule 445
 landlock_restrict_self 446
+memfd_secret 447
 process_mrelease 448
 futex_waitv 449
 set_mempolicy_home_node 450
@@ -319,3 +320,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/mips64.in b/include/lapi/syscalls/mips64.in
index 436d5c681c21f32623d779268b9c3daaaac5b5e0..0375503686461386e70637f6a3cc3b69a48cf235 100644
--- a/include/lapi/syscalls/mips64.in
+++ b/include/lapi/syscalls/mips64.in
@@ -150,7 +150,6 @@ mlockall 5148
 munlockall 5149
 vhangup 5150
 pivot_root 5151
-_sysctl 5152
 prctl 5153
 adjtimex 5154
 setrlimit 5155
@@ -272,7 +271,6 @@ ioprio_set 5273
 ioprio_get 5274
 utimensat 5275
 signalfd 5276
-timerfd 5277
 eventfd 5278
 fallocate 5279
 timerfd_create 5280
@@ -369,3 +367,5 @@ removexattrat 5466
 open_tree_attr 5467
 file_getattr 5468
 file_setattr 5469
+listns 5470
+rseq_slice_yield 5471
diff --git a/include/lapi/syscalls/mips64n32.in b/include/lapi/syscalls/mips64n32.in
index 860a19c8b62866aeaf5b03c5c45ef5d6d58cab0f..0998b2bd8b0e318af44178762766a2e7cc7a2b63 100644
--- a/include/lapi/syscalls/mips64n32.in
+++ b/include/lapi/syscalls/mips64n32.in
@@ -150,7 +150,6 @@ mlockall 6148
 munlockall 6149
 vhangup 6150
 pivot_root 6151
-_sysctl 6152
 prctl 6153
 adjtimex 6154
 setrlimit 6155
@@ -276,7 +275,6 @@ ioprio_set 6277
 ioprio_get 6278
 utimensat 6279
 signalfd 6280
-timerfd 6281
 eventfd 6282
 fallocate 6283
 timerfd_create 6284
@@ -393,3 +391,5 @@ removexattrat 6466
 open_tree_attr 6467
 file_getattr 6468
 file_setattr 6469
+listns 6470
+rseq_slice_yield 6471
diff --git a/include/lapi/syscalls/mipso32.in b/include/lapi/syscalls/mipso32.in
index 5e53e46ce1e47c4618ceeeda03130cbdd621b180..75ac1ef1e0d431fd154ca507dbb8cef07c3226b4 100644
--- a/include/lapi/syscalls/mipso32.in
+++ b/include/lapi/syscalls/mipso32.in
@@ -144,7 +144,6 @@ cachectl 4148
 sysmips 4149
 getsid 4151
 fdatasync 4152
-_sysctl 4153
 mlock 4154
 munlock 4155
 mlockall 4156
@@ -307,7 +306,6 @@ ioprio_set 4314
 ioprio_get 4315
 utimensat 4316
 signalfd 4317
-timerfd 4318
 eventfd 4319
 fallocate 4320
 timerfd_create 4321
@@ -433,3 +431,5 @@ removexattrat 4466
 open_tree_attr 4467
 file_getattr 4468
 file_setattr 4469
+listns 4470
+rseq_slice_yield 4471
diff --git a/include/lapi/syscalls/parisc.in b/include/lapi/syscalls/parisc.in
index 238756694d9a03bcb063c21d3644aaa2af47f3fc..8007565f571ec3a7673adbf20246ee335c221067 100644
--- a/include/lapi/syscalls/parisc.in
+++ b/include/lapi/syscalls/parisc.in
@@ -142,7 +142,6 @@ readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -402,3 +401,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/powerpc.in b/include/lapi/syscalls/powerpc.in
index 6911f9af96247739a1ba7020aa3df77ef70ef55a..02a91ac46c6d6149282d2a2ec5fe8fd50a466ba6 100644
--- a/include/lapi/syscalls/powerpc.in
+++ b/include/lapi/syscalls/powerpc.in
@@ -145,7 +145,6 @@ readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -444,3 +443,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/powerpc64.in b/include/lapi/syscalls/powerpc64.in
index 98190ba266a1c7a6c3dbca1346e9d5e55783e271..931b95f69e7c1c150ef54d63956d42511ffabb50 100644
--- a/include/lapi/syscalls/powerpc64.in
+++ b/include/lapi/syscalls/powerpc64.in
@@ -145,7 +145,6 @@ readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -416,3 +415,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/s390.in b/include/lapi/syscalls/s390.in
index a6cb85da805bec2540433783be9445645ab913ab..978092202738cd97f345fe9757d5b7355814d893 100644
--- a/include/lapi/syscalls/s390.in
+++ b/include/lapi/syscalls/s390.in
@@ -10,17 +10,12 @@ link 9
 unlink 10
 execve 11
 chdir 12
-time 13
 mknod 14
 chmod 15
-lchown 16
 lseek 19
 getpid 20
 mount 21
 umount 22
-setuid 23
-getuid 24
-stime 25
 ptrace 26
 alarm 27
 pause 29
@@ -36,11 +31,7 @@ dup 41
 pipe 42
 times 43
 brk 45
-setgid 46
-getgid 47
 signal 48
-geteuid 49
-getegid 50
 acct 51
 umount2 52
 ioctl 54
@@ -54,18 +45,13 @@ getppid 64
 getpgrp 65
 setsid 66
 sigaction 67
-setreuid 70
-setregid 71
 sigsuspend 72
 sigpending 73
 sethostname 74
 setrlimit 75
-getrlimit 76
 getrusage 77
 gettimeofday 78
 settimeofday 79
-getgroups 80
-setgroups 81
 symlink 83
 readlink 85
 uselib 86
@@ -77,12 +63,10 @@ munmap 91
 truncate 92
 ftruncate 93
 fchmod 94
-fchown 95
 getpriority 96
 setpriority 97
 statfs 99
 fstatfs 100
-ioperm 101
 socketcall 102
 syslog 103
 setitimer 104
@@ -115,18 +99,14 @@ fchdir 133
 sysfs 135
 personality 136
 afs_syscall 137
-setfsuid 138
-setfsgid 139
-_llseek 140
 getdents 141
-_newselect 142
+select 142
 flock 143
 msync 144
 readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -141,13 +121,9 @@ sched_get_priority_min 160
 sched_rr_get_interval 161
 nanosleep 162
 mremap 163
-setresuid 164
-getresuid 165
 query_module 167
 poll 168
 nfsservctl 169
-setresgid 170
-getresgid 171
 prctl 172
 rt_sigreturn 173
 rt_sigaction 174
@@ -158,7 +134,6 @@ rt_sigqueueinfo 178
 rt_sigsuspend 179
 pread64 180
 pwrite64 181
-chown 182
 getcwd 183
 capget 184
 capset 185
@@ -167,39 +142,31 @@ sendfile 187
 getpmsg 188
 putpmsg 189
 vfork 190
-ugetrlimit 191
-mmap2 192
-truncate64 193
-ftruncate64 194
-stat64 195
-lstat64 196
-fstat64 197
-lchown32 198
-getuid32 199
-getgid32 200
-geteuid32 201
-getegid32 202
-setreuid32 203
-setregid32 204
-getgroups32 205
-setgroups32 206
-fchown32 207
-setresuid32 208
-getresuid32 209
-setresgid32 210
-getresgid32 211
-chown32 212
-setuid32 213
-setgid32 214
-setfsuid32 215
-setfsgid32 216
+getrlimit 191
+lchown 198
+getuid 199
+getgid 200
+geteuid 201
+getegid 202
+setreuid 203
+setregid 204
+getgroups 205
+setgroups 206
+fchown 207
+setresuid 208
+getresuid 209
+setresgid 210
+getresgid 211
+chown 212
+setuid 213
+setgid 214
+setfsuid 215
+setfsgid 216
 pivot_root 217
 mincore 218
 madvise 219
 getdents64 220
-fcntl64 221
 readahead 222
-sendfile64 223
 setxattr 224
 lsetxattr 225
 fsetxattr 226
@@ -238,7 +205,6 @@ clock_settime 259
 clock_gettime 260
 clock_getres 261
 clock_nanosleep 262
-fadvise64_64 264
 statfs64 265
 fstatfs64 266
 remap_file_pages 267
@@ -267,7 +233,7 @@ mkdirat 289
 mknodat 290
 fchownat 291
 futimesat 292
-fstatat64 293
+newfstatat 293
 unlinkat 294
 renameat 295
 linkat 296
@@ -291,7 +257,6 @@ utimes 313
 fallocate 314
 utimensat 315
 signalfd 316
-timerfd 317
 eventfd 318
 timerfd_create 319
 timerfd_settime 320
@@ -361,6 +326,7 @@ rseq 383
 pkey_mprotect 384
 pkey_alloc 385
 pkey_free 386
+semtimedop 392
 semget 393
 semctl 394
 shmget 395
@@ -371,26 +337,6 @@ msgget 399
 msgsnd 400
 msgrcv 401
 msgctl 402
-clock_gettime64 403
-clock_settime64 404
-clock_adjtime64 405
-clock_getres_time64 406
-clock_nanosleep_time64 407
-timer_gettime64 408
-timer_settime64 409
-timerfd_gettime64 410
-timerfd_settime64 411
-utimensat_time64 412
-pselect6_time64 413
-ppoll_time64 414
-io_pgetevents_time64 416
-recvmmsg_time64 417
-mq_timedsend_time64 418
-mq_timedreceive_time64 419
-semtimedop_time64 420
-rt_sigtimedwait_time64 421
-futex_time64 422
-sched_rr_get_interval_time64 423
 pidfd_send_signal 424
 io_uring_setup 425
 io_uring_enter 426
@@ -437,3 +383,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/s390x.in b/include/lapi/syscalls/s390x.in
index 31f3ec5532c8c3017188b60907f7666b41f44102..978092202738cd97f345fe9757d5b7355814d893 100644
--- a/include/lapi/syscalls/s390x.in
+++ b/include/lapi/syscalls/s390x.in
@@ -107,7 +107,6 @@ readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -258,7 +257,6 @@ utimes 313
 fallocate 314
 utimensat 315
 signalfd 316
-timerfd 317
 eventfd 318
 timerfd_create 319
 timerfd_settime 320
@@ -385,3 +383,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/sh.in b/include/lapi/syscalls/sh.in
index ac281acf81ffe6770fa0d941d406714fbdce1bbd..e3cef0e77632f5c76af781384fa39406727ae826 100644
--- a/include/lapi/syscalls/sh.in
+++ b/include/lapi/syscalls/sh.in
@@ -128,7 +128,6 @@ readv 145
 writev 146
 getsid 147
 fdatasync 148
-_sysctl 149
 mlock 150
 munlock 151
 mlockall 152
@@ -431,3 +430,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/sparc.in b/include/lapi/syscalls/sparc.in
index ffc0d9f7abdaa8873ec73ed1a5e0ec98b5f8b1d7..20d58a5999172674c78585d0d1435024a65d0119 100644
--- a/include/lapi/syscalls/sparc.in
+++ b/include/lapi/syscalls/sparc.in
@@ -246,7 +246,6 @@ sched_get_priority_min 247
 sched_rr_get_interval 248
 nanosleep 249
 mremap 250
-_sysctl 251
 getsid 252
 fdatasync 253
 nfsservctl 254
@@ -402,6 +401,7 @@ fsconfig 431
 fsmount 432
 fspick 433
 pidfd_open 434
+clone3 435
 close_range 436
 openat2 437
 pidfd_getfd 438
@@ -435,3 +435,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/sparc64.in b/include/lapi/syscalls/sparc64.in
index 992bd307deb07d50ff814c603406842b5aedb431..49419ef5d65d7f9bfb4cbc715bc671d2d387deef 100644
--- a/include/lapi/syscalls/sparc64.in
+++ b/include/lapi/syscalls/sparc64.in
@@ -228,7 +228,6 @@ sched_get_priority_min 247
 sched_rr_get_interval 248
 nanosleep 249
 mremap 250
-_sysctl 251
 getsid 252
 fdatasync 253
 nfsservctl 254
@@ -365,6 +364,7 @@ fsconfig 431
 fsmount 432
 fspick 433
 pidfd_open 434
+clone3 435
 close_range 436
 openat2 437
 pidfd_getfd 438
@@ -398,3 +398,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471
diff --git a/include/lapi/syscalls/x86_64.in b/include/lapi/syscalls/x86_64.in
index e9c0d0599e25e3fa408686544c5d80c5a3e876d7..a253bcfd7d2461634e0a3a1c1e1c312fef682a66 100644
--- a/include/lapi/syscalls/x86_64.in
+++ b/include/lapi/syscalls/x86_64.in
@@ -154,7 +154,6 @@ munlockall 152
 vhangup 153
 modify_ldt 154
 pivot_root 155
-_sysctl 156
 prctl 157
 arch_prctl 158
 adjtimex 159
@@ -334,6 +333,7 @@ statx 332
 io_pgetevents 333
 rseq 334
 uretprobe 335
+uprobe 336
 pidfd_send_signal 424
 io_uring_setup 425
 io_uring_enter 426
@@ -380,3 +380,5 @@ removexattrat 466
 open_tree_attr 467
 file_getattr 468
 file_setattr 469
+listns 470
+rseq_slice_yield 471

-- 
2.51.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [LTP] [PATCH v2 2/5] Add listns fallback header
  2026-03-13 11:48 [LTP] [PATCH v2 0/5] listns() testing suite Andrea Cervesato
  2026-03-13 11:48 ` [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers Andrea Cervesato
@ 2026-03-13 11:48 ` Andrea Cervesato
  2026-03-20 10:35   ` Cyril Hrubis
  2026-03-13 11:48 ` [LTP] [PATCH v2 3/5] Add NS_GET_ID fallback Andrea Cervesato
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Andrea Cervesato @ 2026-03-13 11:48 UTC (permalink / raw)
  To: Linux Test Project

From: Andrea Cervesato <andrea.cervesato@suse.com>

Create include/lapi/listns.h header file for listns syscall related
definitions.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 include/lapi/listns.h | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/include/lapi/listns.h b/include/lapi/listns.h
new file mode 100644
index 0000000000000000000000000000000000000000..d242d3340ee4286fb8621b1633061c8087c54e7c
--- /dev/null
+++ b/include/lapi/listns.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (c) 2025 Linux Test Project
+ */
+
+#ifndef LAPI_LISTNS_H__
+#define LAPI_LISTNS_H__
+
+#include <stdint.h>
+#include "lapi/syscalls.h"
+#include "lapi/sched.h"
+
+#ifndef NS_ID_REQ_SIZE_VER0
+#define NS_ID_REQ_SIZE_VER0 32
+#endif
+
+#ifndef LISTNS_CURRENT_USER
+#define LISTNS_CURRENT_USER 0xffffffffffffffffULL
+#endif
+
+struct listns_req {
+	uint32_t size;
+	uint32_t spare;
+	uint64_t ns_id;
+	uint32_t ns_type;
+	uint32_t spare2;
+	uint64_t user_ns_id;
+};
+
+static inline int listns(struct listns_req *req, uint64_t *ns_ids,
+			 size_t nr_ns_ids, unsigned int flags)
+{
+	return tst_syscall(__NR_listns, req, ns_ids, nr_ns_ids, flags);
+}
+
+#endif /* LAPI_LISTNS_H__ */

-- 
2.51.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [LTP] [PATCH v2 3/5] Add NS_GET_ID fallback
  2026-03-13 11:48 [LTP] [PATCH v2 0/5] listns() testing suite Andrea Cervesato
  2026-03-13 11:48 ` [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers Andrea Cervesato
  2026-03-13 11:48 ` [LTP] [PATCH v2 2/5] Add listns fallback header Andrea Cervesato
@ 2026-03-13 11:48 ` Andrea Cervesato
  2026-03-20 10:36   ` Cyril Hrubis
  2026-03-13 11:48 ` [LTP] [PATCH v2 4/5] syscalls: add listns01 test for EFAULT on invalid address Andrea Cervesato
  2026-03-13 11:48 ` [LTP] [PATCH v2 5/5] syscalls: add listns02 functionality test Andrea Cervesato
  4 siblings, 1 reply; 15+ messages in thread
From: Andrea Cervesato @ 2026-03-13 11:48 UTC (permalink / raw)
  To: Linux Test Project

From: Andrea Cervesato <andrea.cervesato@suse.com>

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 include/lapi/ioctl_ns.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/lapi/ioctl_ns.h b/include/lapi/ioctl_ns.h
index 37fc5371681995fad5d955838b80153d5dd227f1..753c7657101a2c4442dfff9f36a15fc4cb5b6607 100644
--- a/include/lapi/ioctl_ns.h
+++ b/include/lapi/ioctl_ns.h
@@ -27,5 +27,8 @@
 #ifndef NS_GET_MNTNS_ID
 #define NS_GET_MNTNS_ID		_IOR(NSIO, 0x5, uint64_t)
 #endif
+#ifndef NS_GET_ID
+#define NS_GET_ID		_IOR(NSIO, 13, uint64_t)
+#endif
 
 #endif /* LAPI_IOCTL_NS_H__ */

-- 
2.51.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [LTP] [PATCH v2 4/5] syscalls: add listns01 test for EFAULT on invalid address
  2026-03-13 11:48 [LTP] [PATCH v2 0/5] listns() testing suite Andrea Cervesato
                   ` (2 preceding siblings ...)
  2026-03-13 11:48 ` [LTP] [PATCH v2 3/5] Add NS_GET_ID fallback Andrea Cervesato
@ 2026-03-13 11:48 ` Andrea Cervesato
  2026-03-20 10:39   ` Cyril Hrubis
  2026-03-13 11:48 ` [LTP] [PATCH v2 5/5] syscalls: add listns02 functionality test Andrea Cervesato
  4 siblings, 1 reply; 15+ messages in thread
From: Andrea Cervesato @ 2026-03-13 11:48 UTC (permalink / raw)
  To: Linux Test Project

From: Andrea Cervesato <andrea.cervesato@suse.com>

Verify that listns() returns EFAULT when given a completely invalid
address or a NULL pointer as the output buffer.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 runtest/syscalls                            |  2 ++
 testcases/kernel/syscalls/listns/.gitignore |  1 +
 testcases/kernel/syscalls/listns/Makefile   |  7 ++++
 testcases/kernel/syscalls/listns/listns01.c | 56 +++++++++++++++++++++++++++++
 4 files changed, 66 insertions(+)

diff --git a/runtest/syscalls b/runtest/syscalls
index 2179e007c0d72fa2834a1a52b97d888a8ffb4578..769ce4a89a325ea09fdf2cfd42576697f23352c4 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -759,6 +759,8 @@ listmount02 listmount02
 listmount03 listmount03
 listmount04 listmount04
 
+listns01 listns01
+
 listxattr01 listxattr01
 listxattr02 listxattr02
 listxattr03 listxattr03
diff --git a/testcases/kernel/syscalls/listns/.gitignore b/testcases/kernel/syscalls/listns/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..396d6b6fbfb3e34f17c79bfa3d5cc60f76477584
--- /dev/null
+++ b/testcases/kernel/syscalls/listns/.gitignore
@@ -0,0 +1 @@
+listns01
diff --git a/testcases/kernel/syscalls/listns/Makefile b/testcases/kernel/syscalls/listns/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..13755014997afbdc389e1a8fb1b0f0df36c81f21
--- /dev/null
+++ b/testcases/kernel/syscalls/listns/Makefile
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2026 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
+
+top_srcdir		?= ../../../..
+
+include $(top_srcdir)/include/mk/testcases.mk
+include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/kernel/syscalls/listns/listns01.c b/testcases/kernel/syscalls/listns/listns01.c
new file mode 100644
index 0000000000000000000000000000000000000000..e9211e0ef9baf68698fbd9f3500d0ec00cd13590
--- /dev/null
+++ b/testcases/kernel/syscalls/listns/listns01.c
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
+ */
+
+/*\
+ * Test listns() EFAULT error handling with invalid buffer pointers.
+ *
+ * Verify that listns() returns EFAULT when given a completely invalid
+ * address or a NULL pointer as the output buffer.
+ */
+
+#define _GNU_SOURCE
+
+#include "tst_test.h"
+#include "lapi/syscalls.h"
+#include "lapi/listns.h"
+
+static struct tcase {
+	const char *desc;
+	uintptr_t bad_ptr_val;
+	size_t nr_ids;
+} tcases[] = {
+	{
+		.desc = "completely invalid pointer",
+		.bad_ptr_val = 0xdeadbeef,
+		.nr_ids = 10,
+	},
+	{
+		.desc = "NULL buffer",
+		.bad_ptr_val = 0,
+		.nr_ids = 10,
+	},
+};
+
+static void verify_listns(unsigned int n)
+{
+	struct tcase *tc = &tcases[n];
+	struct listns_req req = { .size = NS_ID_REQ_SIZE_VER0 };
+
+	TST_EXP_FAIL2(listns(&req, (uint64_t *)tc->bad_ptr_val, tc->nr_ids, 0),
+		      EFAULT, "listns() %s", tc->desc);
+}
+
+static void setup(void)
+{
+	struct listns_req req = { .size = NS_ID_REQ_SIZE_VER0 };
+
+	tst_syscall(__NR_listns, &req, NULL, 0, 0);
+}
+
+static struct tst_test test = {
+	.tcnt = ARRAY_SIZE(tcases),
+	.test = verify_listns,
+	.setup = setup,
+};

-- 
2.51.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [LTP] [PATCH v2 5/5] syscalls: add listns02 functionality test
  2026-03-13 11:48 [LTP] [PATCH v2 0/5] listns() testing suite Andrea Cervesato
                   ` (3 preceding siblings ...)
  2026-03-13 11:48 ` [LTP] [PATCH v2 4/5] syscalls: add listns01 test for EFAULT on invalid address Andrea Cervesato
@ 2026-03-13 11:48 ` Andrea Cervesato
  2026-03-20 11:19   ` Cyril Hrubis
  4 siblings, 1 reply; 15+ messages in thread
From: Andrea Cervesato @ 2026-03-13 11:48 UTC (permalink / raw)
  To: Linux Test Project

From: Andrea Cervesato <andrea.cervesato@suse.com>

Add a simple test that create a namespace and verifies that listns02 is
listing it.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 runtest/syscalls                            |   1 +
 testcases/kernel/syscalls/listns/.gitignore |   1 +
 testcases/kernel/syscalls/listns/listns02.c | 109 ++++++++++++++++++++++++++++
 3 files changed, 111 insertions(+)

diff --git a/runtest/syscalls b/runtest/syscalls
index 769ce4a89a325ea09fdf2cfd42576697f23352c4..7d67f6ed2489e7281a07ae9f059b7485dd5f5f44 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -760,6 +760,7 @@ listmount03 listmount03
 listmount04 listmount04
 
 listns01 listns01
+listns02 listns02
 
 listxattr01 listxattr01
 listxattr02 listxattr02
diff --git a/testcases/kernel/syscalls/listns/.gitignore b/testcases/kernel/syscalls/listns/.gitignore
index 396d6b6fbfb3e34f17c79bfa3d5cc60f76477584..26d31ae372c54e0031a71b56f68cad44f32e5962 100644
--- a/testcases/kernel/syscalls/listns/.gitignore
+++ b/testcases/kernel/syscalls/listns/.gitignore
@@ -1 +1,2 @@
 listns01
+listns02
diff --git a/testcases/kernel/syscalls/listns/listns02.c b/testcases/kernel/syscalls/listns/listns02.c
new file mode 100644
index 0000000000000000000000000000000000000000..8afe70ff952d0a49c9f32186485fc4ee7549c346
--- /dev/null
+++ b/testcases/kernel/syscalls/listns/listns02.c
@@ -0,0 +1,109 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2026 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
+ */
+
+/*\
+ * Basic listns() functionality test.
+ *
+ * [Algorithm]
+ *
+ * - Fork a child into a new namespace.
+ * - Read the child's namespace ID via NS_GET_ID ioctl on /proc/<pid>/ns/<type>.
+ * - Call listns() filtered by that namespace type.
+ * - Verify the child's namespace ID appears in the returned list.
+ */
+
+#define _GNU_SOURCE
+#include "tst_test.h"
+#include "lapi/syscalls.h"
+#include "lapi/ioctl_ns.h"
+#include "lapi/listns.h"
+
+#define NS_BUF_SIZE 256
+
+static pid_t child_pid = -1;
+static struct listns_req *req;
+
+static struct tcase {
+	const char *desc;
+	int clone_flag;
+	const char *ns_proc_name;
+} tcases[] = {
+	{ "mount namespace", CLONE_NEWNS,  "mnt" },
+	{ "UTS namespace",   CLONE_NEWUTS, "uts" },
+};
+
+static void verify_listns(unsigned int n)
+{
+	struct tcase *tc = &tcases[n];
+	char ns_path[64];
+	uint64_t ns_id;
+	uint64_t buf[NS_BUF_SIZE];
+	int fd, found;
+
+	req->size = NS_ID_REQ_SIZE_VER0;
+	req->ns_type = tc->clone_flag;
+
+	child_pid = SAFE_FORK();
+	if (!child_pid) {
+		TST_CHECKPOINT_WAIT(0);
+		SAFE_UNSHARE(tc->clone_flag);
+		TST_CHECKPOINT_WAKE_AND_WAIT(0);
+		exit(0);
+	}
+
+	TST_CHECKPOINT_WAKE_AND_WAIT(0);
+
+	snprintf(ns_path, sizeof(ns_path), "/proc/%d/ns/%s",
+		 child_pid, tc->ns_proc_name);
+
+	fd = SAFE_OPEN(ns_path, O_RDONLY);
+	SAFE_IOCTL(fd, NS_GET_ID, &ns_id);
+	SAFE_CLOSE(fd);
+
+	TEST(listns(req, buf, ARRAY_SIZE(buf), 0));
+
+	TST_CHECKPOINT_WAKE(0);
+
+	if (TST_RET < 0) {
+		tst_res(TFAIL | TTERRNO, "listns() failed for %s", tc->desc);
+		return;
+	}
+
+	found = 0;
+	for (int i = 0; i < TST_RET; i++) {
+		tst_res(TDEBUG, "buf[%d] = %lu", i, buf[i]);
+		if (buf[i] == ns_id) {
+			found = 1;
+			break;
+		}
+	}
+
+	if (!found)
+		tst_res(TFAIL, "listns() did not return the created %s (ns_id=%lu)",
+			tc->desc, (unsigned long)ns_id);
+	else
+		tst_res(TPASS, "listns() correctly listed the created %s",
+			tc->desc);
+}
+
+static void setup(void)
+{
+	struct listns_req req = { .size = NS_ID_REQ_SIZE_VER0 };
+
+	tst_syscall(__NR_listns, &req, NULL, 0, 0);
+}
+
+static struct tst_test test = {
+	.tcnt = ARRAY_SIZE(tcases),
+	.test = verify_listns,
+	.setup = setup,
+	.needs_root = 1,
+	.needs_checkpoints = 1,
+	.forks_child = 1,
+	.bufs = (struct tst_buffers []) {
+		{&req, .size = sizeof(*req)},
+		{},
+	},
+};

-- 
2.51.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers
  2026-03-13 11:48 ` [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers Andrea Cervesato
@ 2026-03-20 10:28   ` Cyril Hrubis
  2026-03-20 13:21     ` Andrea Cervesato via ltp
  0 siblings, 1 reply; 15+ messages in thread
From: Cyril Hrubis @ 2026-03-20 10:28 UTC (permalink / raw)
  To: Andrea Cervesato; +Cc: Linux Test Project

Hi!
>  include/lapi/syscalls/arc.in         |   2 +
>  include/lapi/syscalls/arm.in         |   3 +-
>  include/lapi/syscalls/arm64.in       |   2 +
>  include/lapi/syscalls/i386.in        |   3 +-
>  include/lapi/syscalls/loongarch64.in |   3 ++
>  include/lapi/syscalls/mips64.in      |   4 +-
>  include/lapi/syscalls/mips64n32.in   |   4 +-
>  include/lapi/syscalls/mipso32.in     |   4 +-
>  include/lapi/syscalls/parisc.in      |   3 +-
>  include/lapi/syscalls/powerpc.in     |   3 +-
>  include/lapi/syscalls/powerpc64.in   |   3 +-
>  include/lapi/syscalls/s390.in        | 102 +++++++++--------------------------

Why do we change so much in the s390.in? I'm not saying it's wrong (I
haven't checked) but even if it's correct it at least should have been
explained in the commit message.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 2/5] Add listns fallback header
  2026-03-13 11:48 ` [LTP] [PATCH v2 2/5] Add listns fallback header Andrea Cervesato
@ 2026-03-20 10:35   ` Cyril Hrubis
  2026-03-20 13:34     ` Andrea Cervesato via ltp
  0 siblings, 1 reply; 15+ messages in thread
From: Cyril Hrubis @ 2026-03-20 10:35 UTC (permalink / raw)
  To: Andrea Cervesato; +Cc: Linux Test Project

Hi!
> +static inline int listns(struct listns_req *req, uint64_t *ns_ids,
> +			 size_t nr_ns_ids, unsigned int flags)
> +{
> +	return tst_syscall(__NR_listns, req, ns_ids, nr_ns_ids, flags);
> +}

Do we need a configure check in a case that glibc happens to eventually
add listns() syscall?

Otherwise it looks good.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 3/5] Add NS_GET_ID fallback
  2026-03-13 11:48 ` [LTP] [PATCH v2 3/5] Add NS_GET_ID fallback Andrea Cervesato
@ 2026-03-20 10:36   ` Cyril Hrubis
  0 siblings, 0 replies; 15+ messages in thread
From: Cyril Hrubis @ 2026-03-20 10:36 UTC (permalink / raw)
  To: Andrea Cervesato; +Cc: Linux Test Project

Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 4/5] syscalls: add listns01 test for EFAULT on invalid address
  2026-03-13 11:48 ` [LTP] [PATCH v2 4/5] syscalls: add listns01 test for EFAULT on invalid address Andrea Cervesato
@ 2026-03-20 10:39   ` Cyril Hrubis
  0 siblings, 0 replies; 15+ messages in thread
From: Cyril Hrubis @ 2026-03-20 10:39 UTC (permalink / raw)
  To: Andrea Cervesato; +Cc: Linux Test Project

Hi!
> +++ b/testcases/kernel/syscalls/listns/listns01.c
> @@ -0,0 +1,56 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright (C) 2026 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
> + */
> +
> +/*\
> + * Test listns() EFAULT error handling with invalid buffer pointers.
> + *
> + * Verify that listns() returns EFAULT when given a completely invalid
> + * address or a NULL pointer as the output buffer.
> + */
> +
> +#define _GNU_SOURCE
> +
> +#include "tst_test.h"
> +#include "lapi/syscalls.h"
> +#include "lapi/listns.h"
> +
> +static struct tcase {
> +	const char *desc;
> +	uintptr_t bad_ptr_val;
> +	size_t nr_ids;
> +} tcases[] = {
> +	{
> +		.desc = "completely invalid pointer",
                            ^
			    Just "invalid pointer"

Keep messages short and to the point.

> +		.bad_ptr_val = 0xdeadbeef,

We do have a tst_get_bad_addr() function to generate an address that is
100% sure to be invalid on any platform.

> +		.nr_ids = 10,

This is the same for bot cases, no need to put it into the struct.

> +	},
> +	{
> +		.desc = "NULL buffer",
> +		.bad_ptr_val = 0,
> +		.nr_ids = 10,
> +	},
> +};
> +
> +static void verify_listns(unsigned int n)
> +{
> +	struct tcase *tc = &tcases[n];
> +	struct listns_req req = { .size = NS_ID_REQ_SIZE_VER0 };
> +
> +	TST_EXP_FAIL2(listns(&req, (uint64_t *)tc->bad_ptr_val, tc->nr_ids, 0),
> +		      EFAULT, "listns() %s", tc->desc);
> +}
> +
> +static void setup(void)
> +{
> +	struct listns_req req = { .size = NS_ID_REQ_SIZE_VER0 };
> +
> +	tst_syscall(__NR_listns, &req, NULL, 0, 0);
> +}
> +
> +static struct tst_test test = {
> +	.tcnt = ARRAY_SIZE(tcases),
> +	.test = verify_listns,
> +	.setup = setup,
> +};
> 
> -- 
> 2.51.0
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 5/5] syscalls: add listns02 functionality test
  2026-03-13 11:48 ` [LTP] [PATCH v2 5/5] syscalls: add listns02 functionality test Andrea Cervesato
@ 2026-03-20 11:19   ` Cyril Hrubis
  0 siblings, 0 replies; 15+ messages in thread
From: Cyril Hrubis @ 2026-03-20 11:19 UTC (permalink / raw)
  To: Andrea Cervesato; +Cc: Linux Test Project

Hi!
> +	if (TST_RET < 0) {
> +		tst_res(TFAIL | TTERRNO, "listns() failed for %s", tc->desc);
> +		return;
> +	}
> +
> +	found = 0;
> +	for (int i = 0; i < TST_RET; i++) {
> +		tst_res(TDEBUG, "buf[%d] = %lu", i, buf[i]);
                                  ^
				  I would say that this is a bit
				  cryptic.

If we want have debugging output I would add something as:

	tst_res(TDEBUG, "Looking for nsid=%lu", ns_id);

	for (int i ...) {
		tst_res(TDEBUG, "list %i. nsid=%lu", i, buf[i]);

	}

Otherwise it looks good:

Reviewed-by: Cyril Hrubis <chrubis@suse.cz>

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers
  2026-03-20 10:28   ` Cyril Hrubis
@ 2026-03-20 13:21     ` Andrea Cervesato via ltp
  0 siblings, 0 replies; 15+ messages in thread
From: Andrea Cervesato via ltp @ 2026-03-20 13:21 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Linux Test Project

Hi,

> Hi!
> >  include/lapi/syscalls/arc.in         |   2 +
> >  include/lapi/syscalls/arm.in         |   3 +-
> >  include/lapi/syscalls/arm64.in       |   2 +
> >  include/lapi/syscalls/i386.in        |   3 +-
> >  include/lapi/syscalls/loongarch64.in |   3 ++
> >  include/lapi/syscalls/mips64.in      |   4 +-
> >  include/lapi/syscalls/mips64n32.in   |   4 +-
> >  include/lapi/syscalls/mipso32.in     |   4 +-
> >  include/lapi/syscalls/parisc.in      |   3 +-
> >  include/lapi/syscalls/powerpc.in     |   3 +-
> >  include/lapi/syscalls/powerpc64.in   |   3 +-
> >  include/lapi/syscalls/s390.in        | 102 +++++++++--------------------------
> 
> Why do we change so much in the s390.in? I'm not saying it's wrong (I
> haven't checked) but even if it's correct it at least should have been
> explained in the commit message.

I generated it automatically with generate_arch.sh script, which is verifying
that the defined syscalls are actually supported by the architecture. It's
all good when it comes to 32/64 bit variants syscalls, but it looks weird for
others.

I'm a bit puzzled as well..there is a risk that by touching so many syscalls
numbers LTP will be out of sync with the underlying kernel. Maybe I will just
add the syscalls which are really needed such as listns().

--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 2/5] Add listns fallback header
  2026-03-20 10:35   ` Cyril Hrubis
@ 2026-03-20 13:34     ` Andrea Cervesato via ltp
  2026-03-23 10:16       ` Cyril Hrubis
  0 siblings, 1 reply; 15+ messages in thread
From: Andrea Cervesato via ltp @ 2026-03-20 13:34 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Linux Test Project

Hi!

> Hi!
> > +static inline int listns(struct listns_req *req, uint64_t *ns_ids,
> > +			 size_t nr_ns_ids, unsigned int flags)
> > +{
> > +	return tst_syscall(__NR_listns, req, ns_ids, nr_ns_ids, flags);
> > +}
> 
> Do we need a configure check in a case that glibc happens to eventually
> add listns() syscall?
> 

Does it make sense at this stage?

--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 2/5] Add listns fallback header
  2026-03-20 13:34     ` Andrea Cervesato via ltp
@ 2026-03-23 10:16       ` Cyril Hrubis
  2026-03-24 14:49         ` Andrea Cervesato via ltp
  0 siblings, 1 reply; 15+ messages in thread
From: Cyril Hrubis @ 2026-03-23 10:16 UTC (permalink / raw)
  To: Andrea Cervesato; +Cc: Linux Test Project

Hi!
> > > +static inline int listns(struct listns_req *req, uint64_t *ns_ids,
> > > +			 size_t nr_ns_ids, unsigned int flags)
> > > +{
> > > +	return tst_syscall(__NR_listns, req, ns_ids, nr_ns_ids, flags);
> > > +}
> > 
> > Do we need a configure check in a case that glibc happens to eventually
> > add listns() syscall?
> > 
> 
> Does it make sense at this stage?

That really depends on if we want the next release to compile cleanly in
a year or two.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [LTP] [PATCH v2 2/5] Add listns fallback header
  2026-03-23 10:16       ` Cyril Hrubis
@ 2026-03-24 14:49         ` Andrea Cervesato via ltp
  0 siblings, 0 replies; 15+ messages in thread
From: Andrea Cervesato via ltp @ 2026-03-24 14:49 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Linux Test Project

> That really depends on if we want the next release to compile cleanly in
> a year or two.

A bit early to decide. I would keep it as it is and eventually update the
test. WDYT?

--
Andrea Cervesato
SUSE QE Automation Engineer Linux
andrea.cervesato@suse.com

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-03-24 14:50 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13 11:48 [LTP] [PATCH v2 0/5] listns() testing suite Andrea Cervesato
2026-03-13 11:48 ` [LTP] [PATCH v2 1/5] Update architectures syscalls identifiers Andrea Cervesato
2026-03-20 10:28   ` Cyril Hrubis
2026-03-20 13:21     ` Andrea Cervesato via ltp
2026-03-13 11:48 ` [LTP] [PATCH v2 2/5] Add listns fallback header Andrea Cervesato
2026-03-20 10:35   ` Cyril Hrubis
2026-03-20 13:34     ` Andrea Cervesato via ltp
2026-03-23 10:16       ` Cyril Hrubis
2026-03-24 14:49         ` Andrea Cervesato via ltp
2026-03-13 11:48 ` [LTP] [PATCH v2 3/5] Add NS_GET_ID fallback Andrea Cervesato
2026-03-20 10:36   ` Cyril Hrubis
2026-03-13 11:48 ` [LTP] [PATCH v2 4/5] syscalls: add listns01 test for EFAULT on invalid address Andrea Cervesato
2026-03-20 10:39   ` Cyril Hrubis
2026-03-13 11:48 ` [LTP] [PATCH v2 5/5] syscalls: add listns02 functionality test Andrea Cervesato
2026-03-20 11:19   ` Cyril Hrubis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox