]> xenbits.xensource.com Git - people/julieng/linux-arm.git/commitdiff
scsi: sd_revalidate_disk prevent NULL ptr deref
authorkernel-team@fedoraproject.org <kernel-team@fedoraproject.org>
Fri, 10 Feb 2012 19:56:13 +0000 (14:56 -0500)
committerJulien Grall <julien.grall@citrix.com>
Fri, 18 Sep 2015 15:29:30 +0000 (16:29 +0100)
Bugzilla: 754518
Upstream-status: Fedora mustard (might be worth dropping...)

drivers/scsi/sd.c

index a20da8c25b4f960224fb4d772aafea38c57e1656..fa19e11b46f0d5d40048730d91c2a0117118af57 100644 (file)
@@ -2717,13 +2717,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.