From c68bf8eeaa57c852e74adcf597237be149eef830 Mon Sep 17 00:00:00 2001 From: Petr Uzel Date: Fri, 21 Oct 2011 13:31:09 +0200 Subject: [PATCH] [SCSI] st: fix race in st_scsi_execute_end MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The call to complete() in st_scsi_execute_end() wakes up sleeping thread in write_behind_check(), which frees the st_request, thus invalidating the pointer to the associated bio structure, which is then passed to the blk_rq_unmap_user(). Fix by storing pointer to bio structure into temporary local variable. This bug is present since at least linux-2.6.32. CC: stable@kernel.org Signed-off-by: Petr Uzel Reported-by: Juergen Groß Reviewed-by: Jan Kara Acked-by: Kai Mäkisara Signed-off-by: James Bottomley --- Reading git-format-patch failed