bus: arm-ccn: Check memory allocation failure

Check memory allocation failures and return -ENOMEM in such cases

This avoids a potential NULL pointer dereference.

Signed-off-by: Christophe JAILLET <[email protected]>
Acked-by: Scott Branden <[email protected]>
Cc: [email protected] # 3.17+
Signed-off-by: Pawel Moll <[email protected]>
This commit is contained in:
Christophe JAILLET 2017-08-27 11:06:50 +01:00 • committed by Pawel Moll
commit 24771179c5

View file

@ -1271,6 +1271,10 @@ static int arm_ccn_pmu_init(struct arm_ccn *ccn)
int len = snprintf(NULL, 0, "ccn_%d", ccn->dt.id);
name = devm_kzalloc(ccn->dev, len + 1, GFP_KERNEL);
if (!name) {
err = -ENOMEM;
goto error_choose_name;
}
snprintf(name, len + 1, "ccn_%d", ccn->dt.id);
}
@ -1319,6 +1323,7 @@ static int arm_ccn_pmu_init(struct arm_ccn *ccn)
error_pmu_register:
error_set_affinity:
error_choose_name:
ida_simple_remove(&arm_ccn_pmu_ida, ccn->dt.id);
for (i = 0; i < ccn->num_xps; i++)
writel(0, ccn->xp[i].base + CCN_XP_DT_CONTROL);