From 4ec8a7e8e7adc8d2da13a8894e6588d05dbc612d Mon Sep 17 00:00:00 2001 From: Brian King Date: Fri, 11 Jan 2013 17:43:48 -0600 Subject: [PATCH] --- yaml --- r: 359451 b: refs/heads/master c: a2e49cb262208a4c3adec7788ecc1179e07dc912 h: refs/heads/master i: 359449: b7b5ddbdc561146eb3672fa4b90fcf64c1e7525d 359447: ac96094b84bfd6fd5792c06d5e93bad245bd6572 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/ipr.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b644a8b2322b..f62e05db124e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b8d5d568a319c1c466cbc6fe1fceaa4a99128a74 +refs/heads/master: a2e49cb262208a4c3adec7788ecc1179e07dc912 diff --git a/trunk/drivers/scsi/ipr.c b/trunk/drivers/scsi/ipr.c index 8d1b806f6022..0a152ef8b741 100644 --- a/trunk/drivers/scsi/ipr.c +++ b/trunk/drivers/scsi/ipr.c @@ -8516,6 +8516,10 @@ static int ipr_alloc_mem(struct ipr_ioa_cfg *ioa_cfg) BITS_TO_LONGS(ioa_cfg->max_devs_supported), GFP_KERNEL); ioa_cfg->vset_ids = kzalloc(sizeof(unsigned long) * BITS_TO_LONGS(ioa_cfg->max_devs_supported), GFP_KERNEL); + + if (!ioa_cfg->target_ids || !ioa_cfg->array_ids + || !ioa_cfg->vset_ids) + goto out_free_res_entries; } for (i = 0; i < ioa_cfg->max_devs_supported; i++) { @@ -8591,6 +8595,9 @@ static int ipr_alloc_mem(struct ipr_ioa_cfg *ioa_cfg) ioa_cfg->vpd_cbs, ioa_cfg->vpd_cbs_dma); out_free_res_entries: kfree(ioa_cfg->res_entries); + kfree(ioa_cfg->target_ids); + kfree(ioa_cfg->array_ids); + kfree(ioa_cfg->vset_ids); goto out; }