login
Header Space

 
 

parisc setup_sigcontext32() array overflows

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <kyle@...>, <matthew@...>, <grundler@...>
Cc: <linux-parisc@...>, <linux-kernel@...>
Date: Saturday, May 17, 2008 - 3:16 pm

include/asm-parisc/ptrace.h:

<--  snip  -->

...
struct pt_regs {
        unsigned long gr[32];   /* PSW is in gr[0] */
...
}

<--  snip  -->


arch/parisc/kernel/signal32.c:

<--  snip  -->

...
setup_sigcontext32(struct compat_sigcontext __user *sc, struct compat_regfile __user * rf, 
                struct pt_regs *regs, int in_syscall)            
{
...
                /* Store upper half */
                compat_reg = (compat_uint_t)(regs->gr[32] >> 32);
...                                                   ^^
                /* Store upper half */
                compat_reg = (compat_uint_t)((regs->gr[32]+4) >> 32);
...                                                    ^^

<--  snip  -->


Spotted by the GNU C compiler.


cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
parisc setup_sigcontext32() array overflows, Adrian Bunk, (Sat May 17, 3:16 pm)
Re: parisc setup_sigcontext32() array overflows, Kyle McMartin, (Sat May 17, 3:22 pm)
speck-geostationary