On 19.11.2016 18:43, Quentin Lambert wrote: > Most error branches following the call to pmcraid_get_free_cmd contain > a call to pmcraid_return_cmd. This patch add these calls where they are > missing. > > Moreover, most error branches following the call to class_create contain > a call to class_destroy. This patch add these calls where they are > missing. > > This issue was found with Hector. > > Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Looks good, Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Tomas > > --- > drivers/scsi/pmcraid.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > --- a/drivers/scsi/pmcraid.c > +++ b/drivers/scsi/pmcraid.c > @@ -3787,11 +3787,11 @@ static long pmcraid_ioctl_passthrough( > direction); > if (rc) { > pmcraid_err("couldn't build passthrough ioadls\n"); > - goto out_free_buffer; > + goto out_free_cmd; > } > } else if (request_size < 0) { > rc = -EINVAL; > - goto out_free_buffer; > + goto out_free_cmd; > } > > /* If data is being written into the device, copy the data from user > @@ -3908,6 +3908,8 @@ out_handle_response: > > out_free_sglist: > pmcraid_release_passthrough_ioadls(cmd, request_size, direction); > + > +out_free_cmd: > pmcraid_return_cmd(cmd); > > out_free_buffer: > @@ -6018,8 +6020,10 @@ static int __init pmcraid_init(void) > > error = pmcraid_netlink_init(); > > - if (error) > + if (error) { > + class_destroy(pmcraid_class); > goto out_unreg_chrdev; > + } > > error = pci_register_driver(&pmcraid_driver); > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html