All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/mpx: Fix off-by-one comparison with nr_registers
@ 2016-02-26 18:55 Colin King
  2016-02-26 19:08 ` Dave Hansen
  2016-02-26 21:15 ` [tip:x86/urgent] " tip-bot for Colin Ian King
  0 siblings, 2 replies; 3+ messages in thread
From: Colin King @ 2016-02-26 18:55 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H . Peter Anvin, x86, Dave Hansen,
	Borislav Petkov, Kirill A . Shutemov
  Cc: linux-kernel

From: Colin Ian King <colin.king@canonical.com>

In the unlikely event that regno == nr_registers then we get an array
overrun on regoff because the invalid register check is currently
off-by-one. Fix this with a check that regno is >= nr_registers instead.

Detected with static analysis using CoverityScan.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 arch/x86/mm/mpx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/mm/mpx.c b/arch/x86/mm/mpx.c
index 5584397..8047687 100644
--- a/arch/x86/mm/mpx.c
+++ b/arch/x86/mm/mpx.c
@@ -123,7 +123,7 @@ static int get_reg_offset(struct insn *insn, struct pt_regs *regs,
 		break;
 	}
 
-	if (regno > nr_registers) {
+	if (regno >= nr_registers) {
 		WARN_ONCE(1, "decoded an instruction with an invalid register");
 		return -EINVAL;
 	}
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-02-26 21:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-26 18:55 [PATCH] x86/mpx: Fix off-by-one comparison with nr_registers Colin King
2016-02-26 19:08 ` Dave Hansen
2016-02-26 21:15 ` [tip:x86/urgent] " tip-bot for Colin Ian King

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.