linux/drivers/scsi/cxlflash
Matthew R. Ochs d804621d02 cxlflash: Fix to prevent workq from accessing freed memory
The workq can process work in parallel with a remove event, leading
to a condition where the workq handler can access freed memory.

To remedy, the workq should be terminated prior to freeing memory. Move
the termination call earlier in remove and use cancel_work_sync() instead
of flush_work() as there is not a need to process any scheduled work when
shutting down.

Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Manoj N. Kumar <manoj@linux.vnet.ibm.com>
Reviewed-by: Brian King <brking@linux.vnet.ibm.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
2015-10-30 17:15:29 +09:00
..
common.h cxlflash: Fix AFU version access/storage and add check 2015-10-30 17:14:41 +09:00
Kconfig
lunmgt.c cxlflash: Fix to avoid invalid port_sel value 2015-10-30 16:57:21 +09:00
main.c cxlflash: Fix to prevent workq from accessing freed memory 2015-10-30 17:15:29 +09:00
main.h cxlflash: Fix host link up event handling 2015-10-30 17:12:22 +09:00
Makefile cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00
sislite.h cxlflash: Fix AFU version access/storage and add check 2015-10-30 17:14:41 +09:00
superpipe.c cxlflash: Correct naming of limbo state and waitq 2015-10-30 17:03:00 +09:00
superpipe.h cxlflash: Fix context encode mask width 2015-10-30 17:02:06 +09:00
vlun.c cxlflash: Fix data corruption when vLUN used over multiple cards 2015-10-30 17:01:07 +09:00
vlun.h cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00