diff options
Diffstat (limited to 'sys/kern/imgact_binmisc.c')
-rw-r--r-- | sys/kern/imgact_binmisc.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/kern/imgact_binmisc.c b/sys/kern/imgact_binmisc.c index d4fa40a..dd57717 100644 --- a/sys/kern/imgact_binmisc.c +++ b/sys/kern/imgact_binmisc.c @@ -308,14 +308,14 @@ imgact_binmisc_disable_entry(char *name) { imgact_binmisc_entry_t *ibe; - sx_slock(&interp_list_sx); + sx_xlock(&interp_list_sx); if ((ibe = imgact_binmisc_find_entry(name)) == NULL) { - sx_sunlock(&interp_list_sx); + sx_xunlock(&interp_list_sx); return (ENOENT); } - atomic_clear_32(&ibe->ibe_flags, IBF_ENABLED); - sx_sunlock(&interp_list_sx); + ibe->ibe_flags &= ~IBF_ENABLED; + sx_xunlock(&interp_list_sx); return (0); } @@ -329,14 +329,14 @@ imgact_binmisc_enable_entry(char *name) { imgact_binmisc_entry_t *ibe; - sx_slock(&interp_list_sx); + sx_xlock(&interp_list_sx); if ((ibe = imgact_binmisc_find_entry(name)) == NULL) { - sx_sunlock(&interp_list_sx); + sx_xunlock(&interp_list_sx); return (ENOENT); } - atomic_set_32(&ibe->ibe_flags, IBF_ENABLED); - sx_sunlock(&interp_list_sx); + ibe->ibe_flags |= IBF_ENABLED; + sx_xunlock(&interp_list_sx); return (0); } |