* linux/fs/binfmt_em86.c
*
* Based on linux/fs/binfmt_script.c
- * Copyright (C) 1996 Martin von Löwis
+ * Copyright (C) 1996 Martin von Löwis
* original #!-checking implemented by tytso.
*
* em86 changes Copyright (C) 1997 Jim Paradis
#include <linux/module.h>
#include <linux/string.h>
#include <linux/stat.h>
-#include <linux/slab.h>
-#include <linux/smp_lock.h>
#include <linux/binfmts.h>
#include <linux/elf.h>
#include <linux/init.h>
+#include <linux/fs.h>
#include <linux/file.h>
+#include <linux/errno.h>
#define EM86_INTERP "/usr/bin/em86"
return -ENOEXEC;
}
- bprm->sh_bang++; /* Well, the bang-shell is implicit... */
+ bprm->recursion_depth++; /* Well, the bang-shell is implicit... */
allow_write_access(bprm->file);
fput(bprm->file);
bprm->file = NULL;
return search_binary_handler(bprm, regs);
}
-struct linux_binfmt em86_format = {
- module: THIS_MODULE,
- load_binary: load_em86,
+static struct linux_binfmt em86_format = {
+ .module = THIS_MODULE,
+ .load_binary = load_em86,
};
static int __init init_em86_binfmt(void)
{
- return register_binfmt(&em86_format);
+ register_binfmt(&em86_format);
+ return 0;
}
static void __exit exit_em86_binfmt(void)
unregister_binfmt(&em86_format);
}
-module_init(init_em86_binfmt)
-module_exit(exit_em86_binfmt)
+core_initcall(init_em86_binfmt);
+module_exit(exit_em86_binfmt);
+MODULE_LICENSE("GPL");