diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2015-11-30 13:46:22 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2015-11-30 13:46:22 +0000 |
commit | c0ccffc7fa91a385842a6bb8d30e6c489ba1d9c1 (patch) | |
tree | 25cbe27e19eb51a2884f40ae7f6fde9f4da0c8bc /sys/cam | |
parent | 76801872045ff4c113f5d6a14b326152c2d4bb6d (diff) | |
download | FreeBSD-src-c0ccffc7fa91a385842a6bb8d30e6c489ba1d9c1.zip FreeBSD-src-c0ccffc7fa91a385842a6bb8d30e6c489ba1d9c1.tar.gz |
MFC: r290959
When the smbfs iod thread (smb_iod_thread()) is shutting down, smb_iod_destroy()
would call smb_iod_request(). This call could return as soon as the
wakeup(evp) in smb_iod_main() call is done and then could destroy
the mutexes. This caused a race with the rest of smb_iod_main()s
use of these mutexes.
A crash reported on freebsd-stable@ by Christian Kratzer was
diagnosed as a use of one of these mutexes after it was destroyed.
This patch moves destruction of the mutexes from smb_iod_destroy()
to the end of smb_iod_thread(), so that they aren't destroyed before
the thread is done with them. Christian comfirmed that the patch
stopped the crashes from happening.
Diffstat (limited to 'sys/cam')
0 files changed, 0 insertions, 0 deletions