forked from Minki/linux
block5.9-2020-10-08
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAl9/uU0QHGF4Ym9lQGtl cm5lbC5kawAKCRD301j7KXHgpnQvD/wNEBP6d4ISx2/I6sDon9SKJgiY3CLF7x3f F//GHMYP9+ZzoLdQRlebGiP6c5PVRL6ExJUVNT+Wc4h5jOuThuxy63j/zvv/RSFw WH9lFiTG44zjbWjp3sCDOuIlHnCTsqA4zYb6os62q3v4SzenW/TA65C+yLn823AF 1VKeVvcoHDu3bvLwtLmAyqZAm2iJH02yKdclKgyaLSKdaGGPX2MJ4tW3GxqzA71i 7R/qer8KqYXSdJdghGI5eFycLnv/TE/bky02TlE+qUhIFwIhDNyo69IQzlMSQXmw ECaAxMJYvzh6ruztkdJP0wOjYEryLY1oCusQEseB9M//qMlue/4Mi2D3bX5Ni1g4 blQQbIi1gu1J/fZrFtW7G/qHxDvT8oA5cFSv5e/72QRIghvavV6cvEP3s9Uu9v9l 3pA2LcErEgVellzvAe9q192mPpAUgR42VlUyYi7P74By+m7pWob2jWR0WsSbXqNk pVhhW3s02hIf9HUAwJkqH46Y3FZmbpTBQvYByFnQh1VSRzmx69zZxs4SrKJTJq9L Id83gBW+r1cuJ8QuZUX4D3ttIGuaZ7J8IdSY4JUBJPMOavbykb6YiWtZ4W5IW5R/ VYcuVTmJr37hcSBHJLw3FmlEN4IH/2QX+mrtJvCEWgeJACo3TVpv0QGw+gD1V5iS EQzTCgctTg== =THH6 -----END PGP SIGNATURE----- Merge tag 'block5.9-2020-10-08' of git://git.kernel.dk/linux-block Pull block fixes from Jens Axboe: "A few fixes that should go into this release: - NVMe controller error path reference fix (Chaitanya) - Fix regression with IBM partitions on non-dasd devices (Christoph) - Fix a missing clear in the compat CDROM packet structure (Peilin)" * tag 'block5.9-2020-10-08' of git://git.kernel.dk/linux-block: partitions/ibm: fix non-DASD devices nvme-core: put ctrl ref when module ref get fail block/scsi-ioctl: Fix kernel-infoleak in scsi_put_cdrom_generic_arg()
This commit is contained in:
commit
583090b1b8
@ -305,8 +305,6 @@ int ibm_partition(struct parsed_partitions *state)
|
||||
if (!disk->fops->getgeo)
|
||||
goto out_exit;
|
||||
fn = symbol_get(dasd_biodasdinfo);
|
||||
if (!fn)
|
||||
goto out_exit;
|
||||
blocksize = bdev_logical_block_size(bdev);
|
||||
if (blocksize <= 0)
|
||||
goto out_symbol;
|
||||
@ -326,7 +324,7 @@ int ibm_partition(struct parsed_partitions *state)
|
||||
geo->start = get_start_sect(bdev);
|
||||
if (disk->fops->getgeo(bdev, geo))
|
||||
goto out_freeall;
|
||||
if (fn(disk, info)) {
|
||||
if (!fn || fn(disk, info)) {
|
||||
kfree(info);
|
||||
info = NULL;
|
||||
}
|
||||
@ -370,7 +368,8 @@ out_nolab:
|
||||
out_nogeo:
|
||||
kfree(info);
|
||||
out_symbol:
|
||||
symbol_put(dasd_biodasdinfo);
|
||||
if (fn)
|
||||
symbol_put(dasd_biodasdinfo);
|
||||
out_exit:
|
||||
return res;
|
||||
}
|
||||
|
@ -651,6 +651,7 @@ struct compat_cdrom_generic_command {
|
||||
compat_int_t stat;
|
||||
compat_caddr_t sense;
|
||||
unsigned char data_direction;
|
||||
unsigned char pad[3];
|
||||
compat_int_t quiet;
|
||||
compat_int_t timeout;
|
||||
compat_caddr_t reserved[1];
|
||||
|
@ -3265,8 +3265,10 @@ static int nvme_dev_open(struct inode *inode, struct file *file)
|
||||
}
|
||||
|
||||
nvme_get_ctrl(ctrl);
|
||||
if (!try_module_get(ctrl->ops->module))
|
||||
if (!try_module_get(ctrl->ops->module)) {
|
||||
nvme_put_ctrl(ctrl);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
file->private_data = ctrl;
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user