| From: "kernel-team@fedoraproject.org" <kernel-team@fedoraproject.org> |
| Date: Fri, 10 Feb 2012 14:56:13 -0500 |
| Subject: [PATCH] scsi: sd_revalidate_disk prevent NULL ptr deref |
| |
| Bugzilla: 754518 |
| Upstream-status: Fedora mustard (might be worth dropping...) |
| |
| drivers/scsi/sd.c | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c |
| index 2c2041ca4b70..e10812d985af 100644 |
| |
| |
| @@ -2749,13 +2749,18 @@ static int sd_try_extended_inquiry(struct scsi_device *sdp) |
| static int sd_revalidate_disk(struct gendisk *disk) |
| { |
| struct scsi_disk *sdkp = scsi_disk(disk); |
| - struct scsi_device *sdp = sdkp->device; |
| + struct scsi_device *sdp; |
| unsigned char *buffer; |
| unsigned int max_xfer; |
| |
| SCSI_LOG_HLQUEUE(3, sd_printk(KERN_INFO, sdkp, |
| "sd_revalidate_disk\n")); |
| |
| + if (WARN_ONCE((!sdkp), "Invalid scsi_disk from %p\n", disk)) |
| + goto out; |
| + |
| + sdp = sdkp->device; |
| + |
| /* |
| * If the device is offline, don't try and read capacity or any |
| * of the other niceties. |
| -- |
| 2.1.0 |
| |