Files
linux/drivers
Joern Engel cf141ccaf0 target: close target_put_sess_cmd() vs. core_tmr_abort_task() race
BugLink: http://bugs.launchpad.net/bugs/1187551

commit ccf5ae83a6 upstream.

It is possible for one thread to to take se_sess->sess_cmd_lock in
core_tmr_abort_task() before taking a reference count on
se_cmd->cmd_kref, while another thread in target_put_sess_cmd() drops
se_cmd->cmd_kref before taking se_sess->sess_cmd_lock.

This introduces kref_put_spinlock_irqsave() and uses it in
target_put_sess_cmd() to close the race window.

Signed-off-by: Joern Engel <joern@logfs.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Steve Conklin <sconklin@canonical.com>
2013-06-07 11:43:04 -05:00
..
2013-02-08 14:22:05 -05:00
2013-04-17 06:41:13 -06:00
2013-04-17 06:41:02 -06:00
2013-06-07 11:42:57 -05:00
2012-12-18 15:19:06 +10:30
2013-06-07 11:43:01 -05:00
2013-04-17 06:41:12 -06:00