diff options
| -rw-r--r-- | sys/alpha/linux/linux_sysvec.c | 1 | ||||
| -rw-r--r-- | sys/compat/linux/linux_mib.c | 7 | ||||
| -rw-r--r-- | sys/compat/linux/linux_mib.h | 2 | ||||
| -rw-r--r-- | sys/i386/linux/linux_sysvec.c | 1 |
4 files changed, 11 insertions, 0 deletions
diff --git a/sys/alpha/linux/linux_sysvec.c b/sys/alpha/linux/linux_sysvec.c index 40deced2cf015..42424d16b5fa4 100644 --- a/sys/alpha/linux/linux_sysvec.c +++ b/sys/alpha/linux/linux_sysvec.c @@ -264,6 +264,7 @@ linux_elf_modevent(module_t mod, int type, void *data) linux_ioctl_unregister_handler(*lihp); if (bootverbose) printf("Linux ELF exec handler removed\n"); + linux_mib_destroy(); } else printf("Could not deinstall ELF interpreter entry\n"); break; diff --git a/sys/compat/linux/linux_mib.c b/sys/compat/linux/linux_mib.c index 53fee72d54fe7..9d908745888e9 100644 --- a/sys/compat/linux/linux_mib.c +++ b/sys/compat/linux/linux_mib.c @@ -149,6 +149,13 @@ linux_get_prison(struct thread *td) } void +linux_mib_destroy(void) +{ + + mtx_destroy(&osname_lock); +} + +void linux_get_osname(struct thread *td, char *dst) { register struct prison *pr; diff --git a/sys/compat/linux/linux_mib.h b/sys/compat/linux/linux_mib.h index 42d9d899266b8..b68e57fd32388 100644 --- a/sys/compat/linux/linux_mib.h +++ b/sys/compat/linux/linux_mib.h @@ -31,6 +31,8 @@ #ifndef _LINUX_MIB_H_ #define _LINUX_MIB_H_ +void linux_mib_destroy(void); + void linux_get_osname(struct thread *td, char *dst); int linux_set_osname(struct thread *td, char *osname); diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index c324f82837a46..f8cc108884547 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -925,6 +925,7 @@ linux_elf_modevent(module_t mod, int type, void *data) linux_ioctl_unregister_handler(*lihp); if (bootverbose) printf("Linux ELF exec handler removed\n"); + linux_mib_destroy(); } else printf("Could not deinstall ELF interpreter entry\n"); break; |
