diff options
author | jhb <jhb@FreeBSD.org> | 2001-05-30 14:35:22 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-05-30 14:35:22 +0000 |
commit | d280325d88ea953302d08da128fa30ad7b734c9b (patch) | |
tree | cd923b7507773d7261d2f760d1255837832ec0da /usr.sbin | |
parent | f478ecd8d334e9395eb4e931a970ee3c805583b5 (diff) | |
download | FreeBSD-src-d280325d88ea953302d08da128fa30ad7b734c9b.zip FreeBSD-src-d280325d88ea953302d08da128fa30ad7b734c9b.tar.gz |
We can't grab the sched_lock in set_user_ldt() because when it is called
from cpu_switch(), curproc has been changed, but the sched_lock owner will
not be updated until we return to mi_switch(), thus we deadlock against
ourselves. As a workaround, push the acquire and release of sched_lock out
to the callers of set_user_ldt(). Note that we can't use a mtx_assert() in
set_user_ldt for the same reason.
Sleuting by: tmm
Tested by: tmm, dougb
Diffstat (limited to 'usr.sbin')
0 files changed, 0 insertions, 0 deletions