[74/90] [SCSI] sym53c8xx: Fix NULL pointer dereference in slave_destroy
From: Greg KH <gregkh@suse.de>
Date: 2012-01-23 23:50:27
Also in:
lkml
From: Greg KH <gregkh@suse.de>
Date: 2012-01-23 23:50:27
Also in:
lkml
3.0-stable review patch. If anyone has any objections, please let me know. ------------------ From: Stratos Psomadakis <redacted> commit cced5041ed5a2d1352186510944b0ddfbdbe4c0b upstream. sym53c8xx_slave_destroy unconditionally assumes that sym53c8xx_slave_alloc has succesesfully allocated a sym_lcb. This can lead to a NULL pointer dereference (exposed by commit 4e6c82b). Signed-off-by: Stratos Psomadakis <redacted> Signed-off-by: James Bottomley <redacted> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- drivers/scsi/sym53c8xx_2/sym_glue.c | 4 ++++ 1 file changed, 4 insertions(+)
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c@@ -839,6 +839,10 @@ static void sym53c8xx_slave_destroy(stru struct sym_lcb *lp = sym_lp(tp, sdev->lun); unsigned long flags; + /* if slave_alloc returned before allocating a sym_lcb, return */ + if (!lp) + return; + spin_lock_irqsave(np->s.host->host_lock, flags); if (lp->busy_itlq || lp->busy_itl) {