aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/perf_pai_crypto.c
diff options
context:
space:
mode:
authorThomas Richter <tmricht@linux.ibm.com>2022-06-14 12:40:46 +0200
committerAlexander Gordeev <agordeev@linux.ibm.com>2022-06-23 17:23:59 +0200
commit541a496644512ebed429b33f19a3fadfb19c6ee7 (patch)
treeccbb694af447eefee9542bb568b3ccb0e428e9e0 /arch/s390/kernel/perf_pai_crypto.c
parents390/cpumf: Handle events cycles and instructions identical (diff)
downloadlinux-dev-541a496644512ebed429b33f19a3fadfb19c6ee7.tar.xz
linux-dev-541a496644512ebed429b33f19a3fadfb19c6ee7.zip
s390/pai: Prevent invalid event number for pai_crypto PMU
The pai_crypto PMU has to check the event number. It has to be in the supported range. This is not the case, the lower limit is not checked. Fix this and obey the lower limit. Fixes: 39d62336f5c1 ("s390/pai: add support for cryptography counters") Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> Suggested-by: Sumanth Korikkar <sumanthk@linux.ibm.com> Reviewed-by: Sumanth Korikkar <sumanthk@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Diffstat (limited to '')
-rw-r--r--arch/s390/kernel/perf_pai_crypto.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/perf_pai_crypto.c b/arch/s390/kernel/perf_pai_crypto.c
index 8c1545946d85..188c6cf09c7a 100644
--- a/arch/s390/kernel/perf_pai_crypto.c
+++ b/arch/s390/kernel/perf_pai_crypto.c
@@ -193,8 +193,9 @@ static int paicrypt_event_init(struct perf_event *event)
/* PAI crypto PMU registered as PERF_TYPE_RAW, check event type */
if (a->type != PERF_TYPE_RAW && event->pmu->type != a->type)
return -ENOENT;
- /* PAI crypto event must be valid */
- if (a->config > PAI_CRYPTO_BASE + paicrypt_cnt)
+ /* PAI crypto event must be in valid range */
+ if (a->config < PAI_CRYPTO_BASE ||
+ a->config > PAI_CRYPTO_BASE + paicrypt_cnt)
return -EINVAL;
/* Allow only CPU wide operation, no process context for now. */
if (event->hw.target || event->cpu == -1)