diff options
author | Julien Grall <julien.grall@arm.com> | 2016-05-31 07:41:23 -0400 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-06-03 05:16:21 -0400 |
commit | 5988a363edb9eb9f31486ceb2cd10e8b45f05dda (patch) | |
tree | e8c67f24348f9490a62d24d4125b30a2dae87791 | |
parent | 0f254c7671e851243412bce6c2e618732831d0f8 (diff) |
drivers/perf: arm_pmu: Avoid leaking pmu->irq_affinity on error
pmu->irq_affinity will not be freed if an error occurred within
arm_pmu_device_probe after of_pmu_irq_cfg has been called.
Note that in the case of_pmu_irq_cfg is returning an error,
pmu->irq_affinity will not be set, but it should be NULL as pmu was
kzalloc'd. Therefore the result kfree(NULL) is benign.
Signed-off-by: Julien Grall <julien.grall@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r-- | drivers/perf/arm_pmu.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c index 95614d24675f..1b8304e1efaa 100644 --- a/drivers/perf/arm_pmu.c +++ b/drivers/perf/arm_pmu.c | |||
@@ -1040,6 +1040,7 @@ out_destroy: | |||
1040 | out_free: | 1040 | out_free: |
1041 | pr_info("%s: failed to register PMU devices!\n", | 1041 | pr_info("%s: failed to register PMU devices!\n", |
1042 | of_node_full_name(node)); | 1042 | of_node_full_name(node)); |
1043 | kfree(pmu->irq_affinity); | ||
1043 | kfree(pmu); | 1044 | kfree(pmu); |
1044 | return ret; | 1045 | return ret; |
1045 | } | 1046 | } |