diff options
author | 2013-09-06 20:46:50 -0700 | |
---|---|---|
committer | 2013-09-10 16:48:54 -0700 | |
commit | d5705c4ab5035be618a34c95505727acac2e70ec (patch) | |
tree | 512bd3f2a432db2e1ae147a46950927ce2cb0502 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | target: remove unused including <linux/version.h> (diff) | |
download | linux-dev-d5705c4ab5035be618a34c95505727acac2e70ec.tar.xz linux-dev-d5705c4ab5035be618a34c95505727acac2e70ec.zip |
iscsi-target: Fix race with thread_pre_handler flush_signals + ISCSI_THREAD_SET_DIE
This patch addresses an long standing race in iscsi_[rx,tx]_thread_pre_handler()
use of flush_signals(), and between iscsi_deallocate_extra_thread_sets() setting
ISCSI_THREAD_SET_DIE before calling kthread_stop().
It addresses the issue by both holding ts_state_lock before calling send_sig()
in iscsi_deallocate_extra_thread_sets(), as well as only calling flush_signals()
when ts->status != ISCSI_THREAD_SET_DIE within iscsi_[rx,tx]_thread_pre_handler()
code.
v2 changes:
- Add explicit complete(&ts->[rx,tx]_start_comp); before kthread_stop() in
iscsi_deallocate_extra_thread_sets()
- Drop left-over send_sig() calls in iscsi_deallocate_extra_thread_sets()
- Add kthread_should_stop() check in iscsi_signal_thread_pre_handler()
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions