Thomas Gleixner 8addebc14a scsi: bnx2fc: Plug CPU hotplug race
bnx2fc_process_new_cqes() has protection against CPU hotplug, which relies
on the per cpu thread pointer. This protection is racy because it happens
only partially with the per cpu fp_work_lock held.

If the CPU is unplugged after the lock is dropped, the wakeup code can
dereference a NULL pointer or access freed and potentially reused memory.

Restructure the code so the thread check and wakeup happens with the
fp_work_lock held.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Chad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-07-26 21:51:24 -04:00
..
2017-07-09 18:48:37 -07:00
2017-07-04 14:37:25 -07:00
2017-07-04 14:47:47 -07:00
2017-07-07 13:55:45 -07:00
2017-07-08 12:36:50 -07:00
2017-07-09 18:48:37 -07:00
2017-07-04 14:28:22 -07:00
2017-07-06 12:10:33 -07:00
2017-07-03 20:55:59 -07:00
2017-07-03 20:55:59 -07:00
2017-07-04 11:48:27 -07:00
2017-07-05 17:09:27 -07:00
2017-07-06 11:32:40 -07:00
2017-07-09 18:48:37 -07:00
2017-07-04 14:47:47 -07:00
2017-07-11 09:55:47 -07:00
2017-07-07 13:55:45 -07:00
2017-07-08 15:51:57 -07:00
2017-07-01 14:30:39 -07:00
2017-07-05 21:46:42 +02:00
2017-07-08 15:51:57 -07:00
2017-07-11 09:55:47 -07:00
2017-07-05 17:09:27 -07:00
2017-07-04 14:47:47 -07:00
2017-07-06 15:38:31 -07:00
2017-07-07 09:44:06 -07:00
2017-07-26 21:51:24 -04:00
2017-07-04 14:47:47 -07:00
2017-07-07 13:42:04 -07:00
2017-07-03 20:27:48 -07:00
2017-07-09 18:48:37 -07:00