diff options
Diffstat (limited to 'sys/i386/linux')
| -rw-r--r-- | sys/i386/linux/linux.h | 3 | ||||
| -rw-r--r-- | sys/i386/linux/linux_sysvec.c | 11 |
2 files changed, 6 insertions, 8 deletions
diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index fab3e298c02c..b4eec0985717 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -366,7 +366,6 @@ extern struct sysentvec elf_linux_sysvec; /* * Pluggable ioctl handlers */ -struct linker_set; struct linux_ioctl_args; struct proc; @@ -378,9 +377,7 @@ struct linux_ioctl_handler { }; int linux_ioctl_register_handler(struct linux_ioctl_handler *h); -int linux_ioctl_register_handlers(struct linker_set *s); int linux_ioctl_unregister_handler(struct linux_ioctl_handler *h); -int linux_ioctl_unregister_handlers(struct linker_set *s); /* * open/fcntl flags diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index de82774f7edc..4dd664bc6e78 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -81,7 +81,7 @@ extern int linux_szsigcode; extern struct sysent linux_sysent[LINUX_SYS_MAXSYSCALL]; -extern struct linker_set linux_ioctl_handler_set; +SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); static int linux_fixup __P((register_t **stack_base, struct image_params *iparams)); @@ -809,6 +809,7 @@ linux_elf_modevent(module_t mod, int type, void *data) { Elf32_Brandinfo **brandinfo; int error; + struct linux_ioctl_handler **lihp; error = 0; @@ -819,8 +820,8 @@ linux_elf_modevent(module_t mod, int type, void *data) if (elf_insert_brand_entry(*brandinfo) < 0) error = EINVAL; if (error == 0) { - linux_ioctl_register_handlers( - &linux_ioctl_handler_set); + SET_FOREACH(lihp, linux_ioctl_handler_set) + linux_ioctl_register_handler(*lihp); if (bootverbose) printf("Linux ELF exec handler installed\n"); } else @@ -838,8 +839,8 @@ linux_elf_modevent(module_t mod, int type, void *data) error = EINVAL; } if (error == 0) { - linux_ioctl_unregister_handlers( - &linux_ioctl_handler_set); + SET_FOREACH(lihp, linux_ioctl_handler_set) + linux_ioctl_unregister_handler(*lihp); if (bootverbose) printf("Linux ELF exec handler removed\n"); } else |
