Messages in this thread | | | Date | Tue, 14 May 2013 15:04:51 -0400 | From | Greg Kroah-Hartman <> | Subject | Re: [PATCH 2/3] target: close target_put_sess_cmd() vs. core_tmr_abort_task() race v5 |
| |
On Mon, May 13, 2013 at 04:30:06PM -0400, Joern Engel wrote: > 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>
For the kref.h part, please feel free to add:
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| |