309554 Wrap syscall remap_file_pages (216)
338803 Handling of dwz debug alt files or cross-CU is broken
+369030 Wrap linux syscall: 171 (setdomainname)
388526 Inconsistent severity in message text: "WARNING: Serious error"
418756 MAP_FIXED_NOREPLACE mmap flag unsupported
493430 Review all syscalls that use or return (new) file descriptors
DECL_TEMPLATE(linux, sys_move_pages);
DECL_TEMPLATE(linux, sys_cachestat);
DECL_TEMPLATE(linux, sys_sysfs);
+DECL_TEMPLATE(linux, sys_setdomainname);
// clone is similar enough between linux variants to have a generic
// version, but which will call an extern defined in syswrap-<platform>-linux.c
// (__NR_reboot, sys_reboot), // 169
GENX_(__NR_sethostname, sys_sethostname), // 170
- // (__NR_setdomainname, sys_setdomainname), // 171
+ LINX_(__NR_setdomainname, sys_setdomainname), // 171
GENX_(__NR_iopl, sys_iopl), // 172
LINX_(__NR_ioperm, sys_ioperm), // 173
GENX_(__NR_create_module, sys_ni_syscall), // 174
PLAX_(__NR_sigreturn, sys_sigreturn), // 119 ?/Linux
LINX_(__NR_clone, sys_clone), // 120
-//zz // (__NR_setdomainname, sys_setdomainname), // 121 */*(?)
+ LINX_(__NR_setdomainname, sys_setdomainname), // 121
GENXY(__NR_uname, sys_newuname), // 122
// PLAX_(__NR_modify_ldt, sys_modify_ldt), // 123
LINXY(__NR_adjtimex, sys_adjtimex), // 124
GENX_(__NR_setgroups, sys_setgroups), // 159
GENXY(__NR_uname, sys_newuname), // 160
GENX_(__NR_sethostname, sys_sethostname), // 161
- // (__NR_setdomainname, sys_ni_syscall), // 162
+ LINX_(__NR_setdomainname, sys_setdomainname), // 162
GENXY(__NR_getrlimit, sys_old_getrlimit), // 163
GENX_(__NR_setrlimit, sys_setrlimit), // 164
GENXY(__NR_getrusage, sys_getrusage), // 165
}
}
+PRE(sys_setdomainname)
+{
+ PRINT ("sys_setdomainname ( %#" FMT_REGWORD "x, %ld )", ARG1, SARG2);
+ PRE_REG_READ2 (long, "setdomainname", const void *, name, int, len);
+ PRE_MEM_READ("setdomainname(name)", ARG1, ARG2);
+}
+
static void pre_read_timespec64 (ThreadId tid, const char *msg, UWord arg)
{
struct vki_timespec64 *ts64 = (void *)(Addr)arg;
GENX_ (__NR_fsync, sys_fsync), // 118
PLAX_ (__NR_sigreturn, sys_sigreturn), // 119
LINX_ (__NR_clone, sys_clone), // 120
- //.. // (__NR_setdomainname, sys_setdomainname), // 121
+ LINX_ (__NR_setdomainname, sys_setdomainname), // 121
GENXY (__NR_uname, sys_newuname), // 122
//.. PLAX_(__NR_modify_ldt, sys_modify_ldt), // 123
LINXY (__NR_adjtimex, sys_adjtimex), // 124
DECL_TEMPLATE (mips_linux, sys_set_thread_area);
DECL_TEMPLATE (mips_linux, sys_swapon);
DECL_TEMPLATE (mips_linux, sys_swapoff);
-DECL_TEMPLATE (mips_linux, sys_setdomainname);
DECL_TEMPLATE (mips_linux, sys_sethostname);
DECL_TEMPLATE (mips_linux, sys_reboot);
DECL_TEMPLATE (mips_linux, sys_cacheflush);
*flags |= SfMayBlock;
}
-PRE(sys_setdomainname)
-{
- PRINT ("sys_setdomainname ( %#" FMT_REGWORD "x, %ld )", ARG1, SARG2);
- PRE_REG_READ2 (long, "setdomainname", const void *, name, int, len);
-}
-
PRE(sys_sethostname)
{
PRINT ("sys_sethostname ( %#" FMT_REGWORD "x, %ld )", ARG1, SARG2);
PLAX_ (__NR_swapoff, sys_swapoff),
PLAX_ (__NR_reboot, sys_reboot),
PLAX_ (__NR_sethostname, sys_sethostname),
- PLAX_ (__NR_setdomainname, sys_setdomainname),
+ LINX_ (__NR_setdomainname, sys_setdomainname),
GENX_ (__NR_create_module, sys_ni_syscall),
LINX_ (__NR_init_module, sys_init_module),
LINX_ (__NR_delete_module, sys_delete_module),
DECL_TEMPLATE (mips_linux, sys_ptrace);
DECL_TEMPLATE (mips_linux, sys_unshare);
DECL_TEMPLATE (mips_linux, sys_reboot);
-DECL_TEMPLATE (mips_linux, sys_setdomainname);
DECL_TEMPLATE (mips_linux, sys_sethostname);
DECL_TEMPLATE (mips_linux, sys_swapon);
DECL_TEMPLATE (mips_linux, sys_swapoff);
*flags |= SfMayBlock;
}
-PRE(sys_setdomainname)
-{
- PRINT ("sys_setdomainname ( %#lx, %ld )", ARG1, SARG2);
- PRE_REG_READ2 (long, "setdomainname", const void *, name, int, len);
-}
-
PRE(sys_sethostname)
{
PRINT ("sys_sethostname ( %#lx, %ld )", ARG1, SARG2);
GENX_ (__NR_setgroups, sys_setgroups),
GENXY (__NR_uname, sys_newuname),
PLAX_ (__NR_sethostname, sys_sethostname),
- PLAX_ (__NR_setdomainname, sys_setdomainname),
+ LINX_ (__NR_setdomainname, sys_setdomainname),
GENXY (__NR_getrusage, sys_getrusage),
GENX_ (__NR_umask, sys_umask),
LINXY (__NR_prctl, sys_prctl),
PLAX_(__NR_sigreturn, sys_sigreturn), // 119 ?/Linux
//..
LINX_(__NR_clone, sys_clone), // 120
-//.. // (__NR_setdomainname, sys_setdomainname), // 121 */*(?)
+ LINX_(__NR_setdomainname, sys_setdomainname), // 121
GENXY(__NR_uname, sys_newuname), // 122
//.. PLAX_(__NR_modify_ldt, sys_modify_ldt), // 123
LINXY(__NR_adjtimex, sys_adjtimex), // 124
// _____(__NR_sigreturn, sys_sigreturn), // 119
LINX_(__NR_clone, sys_clone), // 120
-// _____(__NR_setdomainname, sys_setdomainname), // 121
+ LINX_(__NR_setdomainname, sys_setdomainname), // 121
GENXY(__NR_uname, sys_newuname), // 122
// _____(__NR_modify_ldt, sys_modify_ldt), // 123
LINXY(__NR_adjtimex, sys_adjtimex), // 124
GENX_(__NR_setgroups, sys_setgroups), /* 159 */
GENXY(__NR_uname, sys_newuname), /* 160 */
GENX_(__NR_sethostname, sys_sethostname), /* 161 */
+ LINX_(__NR_setdomainname, sys_setdomainname), /* 162 */
GENXY(__NR_getrlimit, sys_getrlimit), /* 163 */
GENX_(__NR_setrlimit, sys_setrlimit), /* 164 */
GENXY(__NR_getrusage, sys_getrusage), /* 165 */
PLAX_(__NR_sigreturn, sys_sigreturn), // 119
LINX_(__NR_clone, sys_clone), // 120
-// ?????(__NR_setdomainname, ), // 121
+ LINX_(__NR_setdomainname, sys_setdomainname), // 121
GENXY(__NR_uname, sys_newuname), // 122
GENX_(123, sys_ni_syscall), /* unimplemented (by the kernel) */ // 123
// ?????(__NR_adjtimex, ), // 124
PLAX_(__NR_sigreturn, sys_sigreturn), // 119 ?/Linux
LINX_(__NR_clone, sys_clone), // 120
-//zz // (__NR_setdomainname, sys_setdomainname), // 121 */*(?)
+ LINX_(__NR_setdomainname, sys_setdomainname), // 121
GENXY(__NR_uname, sys_newuname), // 122
PLAX_(__NR_modify_ldt, sys_modify_ldt), // 123
LINXY(__NR_adjtimex, sys_adjtimex), // 124
#define __NR_setgroups 159
#define __NR_uname 160
#define __NR_sethostname 161
+#define __NR_setdomainname 162
#define __NR_getrlimit 163
#define __NR_setrlimit 164
#define __NR_getrusage 165