linux/drivers/scsi/cxlflash
Matthew R. Ochs c4a11827b7 scsi: cxlflash: Fix context reference tracking on detach
Commit 888baf069f ("scsi: cxlflash: Add kref to context") introduced a
kref to the context. In particular, the detach routine was updated to
use the kref services for managing the removal and destruction of a
context.

As part of this change, the tracking mechanism internal to the detach
handler was refactored. This introduced a bug that can cause the
tracking state to be lost. This can lead to a situation where exclusive
access to a context is prematurely [and unknowingly] relinquished for
the executing thread.

To remedy, only update the tracking state when the kref operation
indicates the context was removed.

Fixes: 888baf069f ("scsi: cxlflash: Add kref to context")
Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Acked-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2016-09-14 12:47:42 -04:00
..
Kconfig cxlflash: Base error recovery support 2015-08-26 18:03:47 -07:00
Makefile cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00
common.h powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
lunmgt.c cxlflash: Fix to avoid corrupting port selection mask 2015-10-30 17:23:55 +09:00
main.c scsi: cxlflash: Refactor WWPN setup 2016-09-14 12:47:03 -04:00
main.h powerpc updates for 4.8 # 1 2016-07-30 21:01:36 -07:00
sislite.h cxlflash: Shutdown notify support for CXL Flash cards 2016-07-12 23:16:31 -04:00
superpipe.c scsi: cxlflash: Fix context reference tracking on detach 2016-09-14 12:47:42 -04:00
superpipe.h scsi: cxlflash: Remove adapter file descriptor cache 2016-08-23 22:23:52 -04:00
vlun.c scsi: cxlflash: Transition to application close model 2016-08-23 22:23:41 -04:00
vlun.h cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00