Files
linux/include
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
..
2012-09-17 13:42:20 +01:00
2013-05-30 16:30:07 -05:00
2013-01-02 17:36:10 -08:00
2013-01-10 20:06:08 -08:00
2013-01-02 17:36:10 -08:00