aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryu-hao_lin <yu-hao_lin@asus.com>2016-06-16 15:31:55 +0800
committerEric1 Lin <Eric1_Lin@asus.com>2016-06-18 13:21:07 +0800
commit54458d84050c703894be6d1f018618d751c41e1a (patch)
tree1e9bdd511e39e6eca57e790d708a76ff2832d3e7
parent6ab3bae649f87dd9b19c3653ee5083020f248f4a (diff)
common: security for performance component
The fix is designed to return an error in the case of event duplication. CVE: CVE-2016-3768 Bug: 28172137 Change-Id: I482382d0623a06e302a15756f4fa3838cd1c9c36 Reviewed-on: http://mcrd1-22-pc.corpnet.asus/code-review/master/237863 Tested-by: Yu-Hao Lin <yu-hao_lin@asus.com> Reviewed-by: Yu-Hao Lin <yu-hao_lin@asus.com> Reviewed-by: Eric1 Lin <Eric1_Lin@asus.com>
-rw-r--r--arch/arm/kernel/perf_event.c1
-rwxr-xr-xarch/arm/mach-msm/perf_event_msm_krait_l2.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index 1da80ec37fea..fdf8f6bae219 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -240,6 +240,7 @@ armpmu_add(struct perf_event *event, int flags)
pr_err("Event: %llx failed constraint check.\n",
event->attr.config);
event->state = PERF_EVENT_STATE_OFF;
+ err = -EPERM;
goto out;
}
diff --git a/arch/arm/mach-msm/perf_event_msm_krait_l2.c b/arch/arm/mach-msm/perf_event_msm_krait_l2.c
index 8b44bc52fedb..ccd0a8c438bf 100755
--- a/arch/arm/mach-msm/perf_event_msm_krait_l2.c
+++ b/arch/arm/mach-msm/perf_event_msm_krait_l2.c
@@ -473,6 +473,7 @@ static int msm_l2_test_set_ev_constraint(struct perf_event *event)
if (!(event->cpu < 0)) {
event->state = PERF_EVENT_STATE_OFF;
event->attr.constraint_duplicate = 1;
+ err = -EPERM;
}
}
out: