summaryrefslogtreecommitdiffstats
path: root/LICENSES
diff options
context:
space:
mode:
authorDaniel Wagner <dwagner@suse.de>2020-09-08 10:15:13 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2020-09-09 22:01:42 -0400
commitc0014f94218ea3a312f6235febea0d626c5f2154 (patch)
treec46afbf94a4c77e1dfbba475cf1b70bb320e905e /LICENSES
parent988100a7de0f07c27063d1376ebc4eab983e228b (diff)
downloadlinux-c0014f94218ea3a312f6235febea0d626c5f2154.tar.bz2
scsi: qla2xxx: Warn if done() or free() are called on an already freed srb
Emit a warning when ->done or ->free are called on an already freed srb. There is a hidden use-after-free bug in the driver which corrupts the srb memory pool which originates from the cleanup callbacks. An extensive search didn't bring any lights on the real problem. The initial fix was to set both pointers to NULL and try to catch invalid accesses. But instead the memory corruption was gone and the driver didn't crash. Since not all calling places check for NULL pointer, add explicitly default handlers. With this we workaround the memory corruption and add a debug help. Link: https://lore.kernel.org/r/20200908081516.8561-2-dwagner@suse.de Reviewed-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Arun Easi <aeasi@marvell.com> Signed-off-by: Daniel Wagner <dwagner@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'LICENSES')
0 files changed, 0 insertions, 0 deletions