diff options
Diffstat (limited to 'sys/alpha/linux/linux_sysvec.c')
| -rw-r--r-- | sys/alpha/linux/linux_sysvec.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/alpha/linux/linux_sysvec.c b/sys/alpha/linux/linux_sysvec.c index f0b12497a5c0..6f93dc8f6f83 100644 --- a/sys/alpha/linux/linux_sysvec.c +++ b/sys/alpha/linux/linux_sysvec.c @@ -77,7 +77,7 @@ MALLOC_DEFINE(M_LINUX, "linux", "Linux mode structures"); #define SHELLMAGIC 0x2321 #endif -extern struct linker_set linux_ioctl_handler_set; +SET_DECLARE(linux_ioctl_handler_set, struct linux_ioctl_handler); void osendsig(sig_t catcher, int sig, sigset_t *mask, u_long code); @@ -221,6 +221,7 @@ linux_elf_modevent(module_t mod, int type, void *data) { Elf64_Brandinfo **brandinfo; int error; + struct linux_ioctl_handler **lihp; error = 0; @@ -231,8 +232,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 @@ -250,8 +251,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 |
