Skip to contentSkip to conversation

perf: off by one test in perf_reg_value()

PATCH In review Dan Carpenter 2 participants 3 messages Sep 5, 2012 – Sep 19, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 perf: off by one test in perf_reg_value()

The test should be >= ARRAY_SIZE() instead of > ARRAY_SIZE().

---
Only needed on linux-next.

arch/x86/kernel/perf_regs.c +1 -1
index c5a3e5c..e309cc5 100644
@@ -57,7 +57,7 @@ static unsigned int pt_regs_offset[PERF_REG_X86_MAX] = {
 
 u64 perf_reg_value(struct pt_regs *regs, int idx)
 {
-	if (WARN_ON_ONCE(idx > ARRAY_SIZE(pt_regs_offset)))
+	if (WARN_ON_ONCE(idx >= ARRAY_SIZE(pt_regs_offset)))
 		return 0;
 
 	return regs_get_register(regs, pt_regs_offset[idx]);
Acked-by on v1 1/1
#1 lore raw
Quoted 3 lines · Dan Carpenter

The test should be >= ARRAY_SIZE() instead of > ARRAY_SIZE().

thanks,
jirka

Quoted 16 lines

---
Only needed on linux-next.

arch/x86/kernel/perf_regs.c +1 -1
index c5a3e5c..e309cc5 100644
@@ -57,7 +57,7 @@ static unsigned int pt_regs_offset[PERF_REG_X86_MAX] = {
 
 u64 perf_reg_value(struct pt_regs *regs, int idx)
 {
-	if (WARN_ON_ONCE(idx > ARRAY_SIZE(pt_regs_offset)))
+	if (WARN_ON_ONCE(idx >= ARRAY_SIZE(pt_regs_offset)))
 		return 0;
 
 	return regs_get_register(regs, pt_regs_offset[idx]);
#2 lore raw

[tip:perf/core] perf: Fix off by one test in perf_reg_value()

In reply to Dan Carpenter
Commit-ID:  1e6dd8adc78d4a153db253d051fd4ef6c49c9019
Gitweb:     http://git.kernel.org/tip/1e6dd8adc78d4a153db253d051fd4ef6c49c9019
Author:     Dan Carpenter <[email protected]>
AuthorDate: Wed, 5 Sep 2012 15:31:26 +0300
Committer:  Ingo Molnar <[email protected]>
CommitDate: Wed, 19 Sep 2012 17:08:40 +0200

perf: Fix off by one test in perf_reg_value()

The test should be >= ARRAY_SIZE() instead of > ARRAY_SIZE().

---
 arch/x86/kernel/perf_regs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
arch/x86/kernel/perf_regs.c +1 -1
index c5a3e5c..e309cc5 100644
@@ -57,7 +57,7 @@ static unsigned int pt_regs_offset[PERF_REG_X86_MAX] = {
 
 u64 perf_reg_value(struct pt_regs *regs, int idx)
 {
-	if (WARN_ON_ONCE(idx > ARRAY_SIZE(pt_regs_offset)))
+	if (WARN_ON_ONCE(idx >= ARRAY_SIZE(pt_regs_offset)))
 		return 0;
 
 	return regs_get_register(regs, pt_regs_offset[idx]);