diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2017-07-24 12:52:56 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-07-26 21:51:24 -0400 |
commit | 8addebc14a322fa8ca67cd57c6038069acde8ddc (patch) | |
tree | 3fb5ee2628099fb5a7159e61d1acbcff180002ed /virt/kvm | |
parent | 2c67521821acd900d7508f37e49d0b494011106d (diff) | |
download | linux-8addebc14a322fa8ca67cd57c6038069acde8ddc.tar.bz2 |
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>
Diffstat (limited to 'virt/kvm')
0 files changed, 0 insertions, 0 deletions