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.
This commit is contained in:
Дмитрий Левин 2014-02-05 16:17:02 +00:00
parent 2f332e937a
commit f67502e404
3 changed files with 28 additions and 1 deletions

27
bjm.c
View File

@ -200,3 +200,30 @@ sys_init_module(struct tcb *tcp)
}
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;
}

View File

@ -33,7 +33,6 @@
/* still unfinished */
#define sys_add_key printargs
#define sys_finit_module printargs
#define sys_ioperm printargs
#define sys_iopl printargs
#define sys_ioprio_get printargs

View File

@ -74,6 +74,7 @@ int sys_fchown();
int sys_fchownat();
int sys_fcntl();
int sys_fgetxattr();
int sys_finit_module();
int sys_flistxattr();
int sys_flock();
int sys_fork();