]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: restart list search after unlock in scsi_remove_target
authorChristoph Hellwig <hch@lst.de>
Mon, 19 Oct 2015 14:35:46 +0000 (16:35 +0200)
committerJames Bottomley <JBottomley@Odin.com>
Thu, 5 Nov 2015 17:24:14 +0000 (09:24 -0800)
commit4258e3bc5b1a55589f5ceef46f1d596a8a2d40e2
tree2774230419725a5e8ed66c28c00c5ef974112590
parentc91584000eaf54bff7faad1b5a13882791a7da0d
scsi: restart list search after unlock in scsi_remove_target

When dropping a lock while iterating a list we must restart the search
as other threads could have manipulated the list under us.  Without this
we can get stuck in an endless loop.  This bug was introduced by

commit f197a99979f58142ec56392e729c936a0606d428
Author: Dan Williams <djbw@fb.com>
Date:   Tue Aug 28 22:12:10 2012 -0700

    [SCSI] scsi_remove_target: fix softlockup regression on hot remove

Which was itself trying to fix a reported soft lockup issue

http://thread.gmane.org/gmane.linux.kernel/1348679

However, we believe even with this revert of the original patch, the soft
lockup problem has been fixed by

commit 70557455b2824a372dbbe9e388fd197a2bb0d4d9
Author: James Bottomley <JBottomley@Parallels.com>
Date:   Tue Jan 21 07:01:41 2014 -0800

    [SCSI] dual scan thread bug fix

Thanks go to Dan Williams <dan.j.williams@intel.com> for tracking all this
prior history down.

Reported-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Fixes: f197a99979f58142ec56392e729c936a0606d428
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/scsi_sysfs.c