[patch] display all 3 init_module arguments on linux

James Lentini jlentini at gmail.com
Wed May 11 11:15:39 UTC 2005


In Linux 2.6.11 (and perhaps earlier), the sys_init_module system call takes 
3 arguments. 
strace 4.5.11 expects the init_module system call to take 2 arguments.

I've created a patch below to correct the problem. I assume that all the 
linux syscallent.h 
files will need to be modified, but I only modified the linux/syscallent.h 
file.

Please let me know if you have any questions,

James Lentini
jlentini at gmail.google.com

--- strace-4.5.11/bjm.c~ 2004-09-03 23:39:20.000000000 -0400
+++ strace-4.5.11/bjm.c 2005-05-09 21:48:41.801195000 -0400
@@ -198,8 +198,9 @@
struct tcb *tcp;
{
if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- tprintf(", %#lx", tcp->u_arg[1]);
+ tprintf("%#lx, ", tcp->u_arg[0]);
+ tprintf("%lu, ", tcp->u_arg[1]);
+ printstr(tcp, tcp->u_arg[2], -1);
}
return 0;
}

--- strace-4.5.11/linux/syscallent.h~ 2005-02-01 23:17:00.000000000 -0500
+++ strace-4.5.11/linux/syscallent.h 2005-05-09 20:58:26.993838000 -0400
@@ -164,7 +164,7 @@
{ 3, 0, sys_mprotect, "mprotect" }, /* 125 */
{ 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */
{ 2, 0, sys_create_module, "create_module" }, /* 127 */
- { 2, 0, sys_init_module, "init_module" }, /* 128 */
+ { 3, 0, sys_init_module, "init_module" }, /* 128 */
{ 1, 0, sys_delete_module, "delete_module" }, /* 129 */
{ 1, 0, sys_get_kernel_syms, "get_kernel_syms"}, /* 130 */
{ 4, 0, sys_quotactl, "quotactl" }, /* 131 */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20050511/5b255e2d/attachment.html>


More information about the Strace-devel mailing list