From: Chris Zankel I dropped the boolean operator '!' when I manually incorporated the verify_area changes to a fresh and current version of the kernel. This patch fixes that. Signed-off-by: Chris Zankel Cc: Jesper Juhl Signed-off-by: Andrew Morton --- arch/xtensa/kernel/signal.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff -puN arch/xtensa/kernel/signal.c~xtensa-remove-verify_area-macros-fix arch/xtensa/kernel/signal.c --- devel/arch/xtensa/kernel/signal.c~xtensa-remove-verify_area-macros-fix 2006-05-25 15:18:38.000000000 -0700 +++ devel-akpm/arch/xtensa/kernel/signal.c 2006-05-25 15:18:38.000000000 -0700 @@ -104,7 +104,7 @@ sys_sigaction(int sig, const struct old_ if (act) { old_sigset_t mask; - if (access_ok(VERIFY_READ, act, sizeof(*act)) || + if (!access_ok(VERIFY_READ, act, sizeof(*act)) || __get_user(new_ka.sa.sa_handler, &act->sa_handler) || __get_user(new_ka.sa.sa_restorer, &act->sa_restorer)) return -EFAULT; @@ -116,7 +116,7 @@ sys_sigaction(int sig, const struct old_ ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL); if (!ret && oact) { - if (access_ok(VERIFY_WRITE, oact, sizeof(*oact)) || + if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) || __put_user(old_ka.sa.sa_handler, &oact->sa_handler) || __put_user(old_ka.sa.sa_restorer, &oact->sa_restorer)) return -EFAULT; @@ -236,7 +236,7 @@ restore_sigcontext(struct pt_regs *regs, err |= __copy_from_user (regs->areg, sc->sc_areg, XCHAL_NUM_AREGS*4); err |= __get_user(buf, &sc->sc_cpstate); if (buf) { - if (access_ok(VERIFY_READ, buf, sizeof(*buf))) + if (!access_ok(VERIFY_READ, buf, sizeof(*buf))) goto badframe; err |= restore_cpextra(buf); } @@ -357,7 +357,7 @@ asmlinkage int sys_sigreturn(struct pt_r if (regs->depc > 64) panic ("Double exception sys_sigreturn\n"); - if (access_ok(VERIFY_READ, frame, sizeof(*frame))) + if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) goto badframe; if (__get_user(set.sig[0], &frame->sc.oldmask) @@ -394,7 +394,7 @@ asmlinkage int sys_rt_sigreturn(struct p return 0; } - if (access_ok(VERIFY_READ, frame, sizeof(*frame))) + if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) goto badframe; if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) _