https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.
+343099 Linux setns syscall wrapper missing, unhandled syscall: 308
+ == 368923 WARNING: unhandled arm64-linux syscall: 268 (setns)
+ == 369031 WARNING: unhandled amd64-linux syscall: 308 (setns)
385386 Assertion failed "szB >= CACHE_ENTRY_SIZE" at m_debuginfo/image.c:517
400162 Patch: Guard against __GLIBC_PREREQ for musl libc
400593 In Coregrind, use statx for some internal syscalls if [f]stat[64] fail
DECL_TEMPLATE(linux, sys_sched_getaffinity);
DECL_TEMPLATE(linux, sys_unshare);
+DECL_TEMPLATE(linux, sys_setns);
// These ones have different parameters and/or return values on Darwin.
// Also, some archs on Linux do not match the generic wrapper for sys_pipe.
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 305
LINX_(__NR_syncfs, sys_syncfs), // 306
LINXY(__NR_sendmmsg, sys_sendmmsg), // 307
-// LINX_(__NR_setns, sys_ni_syscall), // 308
+ LINX_(__NR_setns, sys_setns), // 308
LINXY(__NR_getcpu, sys_getcpu), // 309
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 310
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 372
LINX_(__NR_syncfs, sys_syncfs), // 373
LINXY(__NR_sendmmsg, sys_sendmmsg), // 374
-
+ LINX_(__NR_setns, sys_setns), // 375
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 376
LINX_(__NR_process_vm_writev, sys_process_vm_writev),// 377
LINXY(__NR_open_by_handle_at, sys_open_by_handle_at), // 265
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 266
LINX_(__NR_syncfs, sys_syncfs), // 267
- // (__NR_setns, sys_ni_syscall), // 268
+ LINX_(__NR_setns, sys_setns), // 268
LINXY(__NR_sendmmsg, sys_sendmmsg), // 269
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 270
LINX_(__NR_process_vm_writev, sys_process_vm_writev), // 271
PRE_REG_READ1(int, "unshare", unsigned long, flags);
}
+PRE(sys_setns)
+{
+ PRINT("sys_setns ( %ld, %ld )", SARG1, SARG2);
+ PRE_REG_READ2(int, "setns",
+ int, fd,
+ int, nstype);
+ if (!ML_(fd_allowed)(ARG1, "setns", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+}
+
+
/* ---------------------------------------------------------------------
miscellaneous wrappers
------------------------------------------------------------------ */
//..
LINXY (__NR_clock_adjtime, sys_clock_adjtime), // 341
LINX_ (__NR_syncfs, sys_syncfs), // 342
+ LINX_ (__NR_setns, sys_setns), // 343
//..
LINXY (__NR_process_vm_readv, sys_process_vm_readv), // 345
LINX_ (__NR_process_vm_writev, sys_process_vm_writev), // 346
LINX_ (__NR_pwritev2, sys_pwritev2),
LINX_ (__NR_syncfs, sys_syncfs),
LINXY (__NR_statx, sys_statx),
+ LINX_ (__NR_setns, sys_setns),
};
SyscallTableEntry * ML_(get_linux_syscall_entry) ( UInt sysno )
LINXY (__NR_getrandom, sys_getrandom),
LINXY (__NR_memfd_create, sys_memfd_create),
LINXY (__NR_statx, sys_statx),
+ LINX_ (__NR_setns, sys_setns),
// (__NR_bpf, sys_ni_syscall),
// (__NR_execveat, sys_ni_syscall),
// (__NR_userfaultfd, sys_ni_syscall),
LINXY(__NR_open_by_handle_at, sys_open_by_handle_at), // 336
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 337
LINX_(__NR_syncfs, sys_syncfs), // 338
-// ?????(__NR_setns, ), // 339
+ LINX_(__NR_setns, sys_setns), // 339
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 340
LINX_(__NR_process_vm_writev, sys_process_vm_writev), // 341
LINX_(__NR_syncfs, sys_syncfs), // 344
LINXY(__NR_sendmmsg, sys_sendmmsg), // 345
-// LINX_(__NR_setns, sys_ni_syscall), // 346
+ LINX_(__NR_setns, sys_setns), // 346
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 347
LINX_(__NR_process_vm_writev, sys_process_vm_writev),// 348
LINX_(__NR_kcmp, sys_kcmp), // 349
#define __NR_open_by_handle_at (__NR_Linux + 340)
#define __NR_clock_adjtime (__NR_Linux + 341)
#define __NR_syncfs (__NR_Linux + 342)
+#define __NR_setns (__NR_Linux + 343)
#define __NR_process_vm_readv (__NR_Linux + 345)
#define __NR_process_vm_writev (__NR_Linux + 346)
#define __NR_kcmp (__NR_Linux + 347)