11 #include <linux/module.h>
12 #include <linux/string.h>
13 #include <linux/stat.h>
14 #include <linux/binfmts.h>
15 #include <linux/elf.h>
19 #include <linux/errno.h>
22 #define EM86_INTERP "/usr/bin/em86"
23 #define EM86_I_NAME "em86"
27 char *interp, *i_name, *i_arg;
40 (!((elf_ex.e_machine ==
EM_386) || (elf_ex.e_machine ==
EM_486))) ||
41 (!bprm->
file->f_op || !bprm->
file->f_op->mmap)) {
46 allow_write_access(bprm->
file);
67 if (retval < 0)
return retval;
71 if (retval < 0)
return retval;
75 if (retval < 0)
return retval;
98 .load_binary = load_em86,
101 static int __init init_em86_binfmt(
void)
103 register_binfmt(&em86_format);
107 static void __exit exit_em86_binfmt(
void)