Implement finit_module decoding
* bjm.c (module_init_flags): New xlat structure.
(sys_finit_module): New function.
* linux/dummy.h (sys_finit_module): Remove.
* linux/syscall.h (sys_finit_module): New prototype.
diff --git a/bjm.c b/bjm.c
index 6f1ee57..d7acff0 100644
--- a/bjm.c
+++ b/bjm.c
@@ -200,3 +200,30 @@
}
return 0;
}
+
+#define MODULE_INIT_IGNORE_MODVERSIONS 1
+#define MODULE_INIT_IGNORE_VERMAGIC 2
+
+static const struct xlat module_init_flags[] = {
+ XLAT(MODULE_INIT_IGNORE_MODVERSIONS),
+ XLAT(MODULE_INIT_IGNORE_VERMAGIC),
+ XLAT_END
+};
+
+int
+sys_finit_module(struct tcb *tcp)
+{
+ if (exiting(tcp))
+ return 0;
+
+ /* file descriptor */
+ printfd(tcp, tcp->u_arg[0]);
+ tprints(", ");
+ /* param_values */
+ printstr(tcp, tcp->u_arg[1], -1);
+ tprints(", ");
+ /* flags */
+ printflags(module_init_flags, tcp->u_arg[2], "MODULE_INIT_???");
+
+ return 0;
+}