From: Stephen M. Cameron Date: Fri, 17 Dec 2010 08:01:37 +0000 (+0100) Subject: cciss: fix cciss_revalidate panic X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0fc13c8995cd96f4123de400c71c223d80400ed9;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git cciss: fix cciss_revalidate panic If you delete a logical drive, and then run BLKRRPART (e.g. via fdisk) on a logical drive which is "after" the deleted logical drive in the h->drv[] array, then cciss_revalidate panics because it will access the null pointer h->drv[x] when x hits the deleted drive. Signed-off-by: Stephen M. Cameron Cc: stable@kernel.org Signed-off-by: Jens Axboe --- diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index f291587d753..233e06c29ff 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -2834,6 +2834,8 @@ static int cciss_revalidate(struct gendisk *disk) InquiryData_struct *inq_buff = NULL; for (logvol = 0; logvol < CISS_MAX_LUN; logvol++) { + if (!h->drv[logvol]) + continue if (memcmp(h->drv[logvol]->LunID, drv->LunID, sizeof(drv->LunID)) == 0) { FOUND = 1;