mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: torvalds@linux-foundation.org, akpm@linux-foundation.org,
	alan@lxorguk.ukuu.org.uk, Babu Moger <babu.moger@netapp.com>,
	James Bottomley <JBottomley@Parallels.com>,
	Dan Carpenter <dan.carpenter@oracle.com>
Subject: [18/20] SCSI: scsi_dh: check queuedata pointer before proceeding further
Date: Tue, 10 Jan 2012 12:07:09 -0800	[thread overview]
Message-ID: <20120110200851.364127220@clark.kroah.org> (raw)
In-Reply-To: <20120110200902.GA5674@kroah.com>

2.6.32-longterm review patch.  If anyone has any objections, please let me know.

------------------

From: "Moger, Babu" <Babu.Moger@netapp.com>

commit a18a920c70d48a8e4a2b750d8a183b3c1a4be514 upstream.

This patch validates sdev pointer in scsi_dh_activate before proceeding further.

Without this check we might see the panic as below. I have seen this
panic multiple times..

Call trace:

 #0 [ffff88007d647b50] machine_kexec at ffffffff81020902
 #1 [ffff88007d647ba0] crash_kexec at ffffffff810875b0
 #2 [ffff88007d647c70] oops_end at ffffffff8139c650
 #3 [ffff88007d647c90] __bad_area_nosemaphore at ffffffff8102dd15
 #4 [ffff88007d647d50] page_fault at ffffffff8139b8cf
    [exception RIP: scsi_dh_activate+0x82]
    RIP: ffffffffa0041922  RSP: ffff88007d647e00  RFLAGS: 00010046
    RAX: 0000000000000000  RBX: 0000000000000000  RCX: 00000000000093c5
    RDX: 00000000000093c5  RSI: ffffffffa02e6640  RDI: ffff88007cc88988
    RBP: 000000000000000f   R8: ffff88007d646000   R9: 0000000000000000
    R10: ffff880082293790  R11: 00000000ffffffff  R12: ffff88007cc88988
    R13: 0000000000000000  R14: 0000000000000286  R15: ffff880037b845e0
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0000
 #5 [ffff88007d647e38] run_workqueue at ffffffff81060268
 #6 [ffff88007d647e78] worker_thread at ffffffff81060386
 #7 [ffff88007d647ee8] kthread at ffffffff81064436
 #8 [ffff88007d647f48] kernel_thread at ffffffff81003fba

Signed-off-by: Babu Moger <babu.moger@netapp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/scsi/device_handler/scsi_dh.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

--- a/drivers/scsi/device_handler/scsi_dh.c
+++ b/drivers/scsi/device_handler/scsi_dh.c
@@ -432,7 +432,12 @@ int scsi_dh_activate(struct request_queu
 
 	spin_lock_irqsave(q->queue_lock, flags);
 	sdev = q->queuedata;
-	if (sdev && sdev->scsi_dh_data)
+	if (!sdev) {
+		spin_unlock_irqrestore(q->queue_lock, flags);
+		return SCSI_DH_NOSYS;
+	}
+
+	if (sdev->scsi_dh_data)
 		scsi_dh = sdev->scsi_dh_data->scsi_dh;
 	if (!scsi_dh || !get_device(&sdev->sdev_gendev))
 		err = SCSI_DH_NOSYS;



  parent reply	other threads:[~2012-01-10 20:10 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-10 20:09 [00/20] 2.6.32.54-longterm review Greg KH
2012-01-10 20:06 ` [01/20] MAINTAINERS: stable: Update address Greg KH
2012-01-10 20:06 ` [02/20] Documentation: Update stable address Greg KH
2012-01-10 20:06 ` [03/20] firmware: Fix an oops on reading fw_priv->fw in sysfs loading file Greg KH
2012-01-10 20:06 ` [04/20] offb: Fix setting of the pseudo-palette for >8bpp Greg KH
2012-01-10 20:06 ` [05/20] offb: Fix bug in calculating requested vram size Greg KH
2012-01-10 20:06 ` [06/20] asix: new device id Greg KH
2012-01-10 20:06 ` [07/20] reiserfs: Fix quota mount option parsing Greg KH
2012-01-10 20:06 ` [08/20] reiserfs: Force inode evictions before umount to avoid crash Greg KH
2012-01-10 20:07 ` [09/20] USB: update documentation for usbmon Greg KH
2012-01-10 20:07 ` [10/20] drivers/usb/class/cdc-acm.c: clear dangling pointer Greg KH
2012-01-10 20:07 ` [11/20] USB: isight: fix kernel bug when loading firmware Greg KH
2012-01-10 20:07 ` [12/20] usb: usb-storage doesnt support dynamic id currently, the patch disables the feature to fix an oops Greg KH
2012-01-10 20:07 ` [13/20] USB: add quirk for another camera Greg KH
2012-01-10 20:07 ` [14/20] USB: omninet: fix write_room Greg KH
2012-01-10 20:07 ` [15/20] USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c Greg KH
2012-01-10 20:07 ` [16/20] asix: fix infinite loop in rx_fixup() Greg KH
2012-01-10 20:07 ` [17/20] PM / Sleep: Fix race between CPU hotplug and freezer Greg KH
2012-01-10 20:07 ` Greg KH [this message]
2012-01-10 20:07 ` [19/20] xfs: validate acl count Greg KH
2012-01-10 20:07 ` [20/20] xfs: fix acl count validation in xfs_acl_from_disk() Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120110200851.364127220@clark.kroah.org \
    --to=gregkh@suse.de \
    --cc=JBottomley@Parallels.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=babu.moger@netapp.com \
    --cc=dan.carpenter@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®