]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
dtrace: fix access to uregs[R_L7]
authorNick Alcock <nick.alcock@oracle.com>
Tue, 26 Jan 2016 17:53:50 +0000 (17:53 +0000)
committerNick Alcock <nick.alcock@oracle.com>
Wed, 3 Feb 2016 16:36:41 +0000 (16:36 +0000)
An off-by-one bug causes this access to happen relative to REG_I0 rather
than REG_L0, leading to an invalid memory access (trapped by DTrace, so
no undefined behaviour is incurred, only a spurious ERROR firing).

Orabug: 22602870
Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
Acked-by: Kris Van Hees <kris.van.hees@oracle.com>
dtrace/dtrace_isa_sparc64.c

index 6a6e0d98efa0f46bb0e683c2ae3f7105a60ab931..aeb0dec935fe2df0b3449ebf37f5e36fc7506264 100644 (file)
@@ -178,7 +178,7 @@ ulong_t dtrace_getreg(struct task_struct *task, uint_t reg)
 
                        DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT);
 
-                       if (reg < REG_L7)
+                       if (reg <= REG_L7)
                                val = dtrace_fulword(&rw->locals[reg - REG_L0]);
                        else
                                val = dtrace_fulword(&rw->locals[reg - REG_I0]);