|
From: <sv...@va...> - 2017-05-22 07:53:18
|
Author: sewardj
Date: Mon May 22 08:53:04 2017
New Revision: 16403
Log:
Bug 379966 - WARNING: unhandled amd64-linux syscall: 313 (finit_module).
Patch from Bartosz Golaszewski (bar...@gm...).
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h (original)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h Mon May 22 08:53:04 2017
@@ -273,6 +273,7 @@
// Linux specific (kernel modules)
DECL_TEMPLATE(linux, sys_init_module);
+DECL_TEMPLATE(linux, sys_finit_module);
DECL_TEMPLATE(linux, sys_delete_module);
// Linux-specific (oprofile-related)
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c Mon May 22 08:53:04 2017
@@ -832,7 +832,7 @@
LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 310
LINX_(__NR_process_vm_writev, sys_process_vm_writev),// 311
LINX_(__NR_kcmp, sys_kcmp), // 312
-// LIN__(__NR_finit_module, sys_ni_syscall), // 313
+ LINX_(__NR_finit_module, sys_finit_module), // 313
// LIN__(__NR_sched_setattr, sys_ni_syscall), // 314
// LIN__(__NR_sched_getattr, sys_ni_syscall), // 315
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Mon May 22 08:53:04 2017
@@ -5722,6 +5722,17 @@
PRE_MEM_RASCIIZ( "init_module(uargs)", ARG3 );
}
+PRE(sys_finit_module)
+{
+ *flags |= SfMayBlock;
+
+ PRINT("sys_finit_module ( %lx, %#lx(\"%s\"), %lx )",
+ ARG1, ARG2, (HChar*)ARG2, ARG3);
+ PRE_REG_READ3(long, "finit_module",
+ int, fd, const char *, params, int, flags);
+ PRE_MEM_RASCIIZ("finit_module(params)", ARG2);
+}
+
PRE(sys_delete_module)
{
*flags |= SfMayBlock;
|