diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/xtensa/Kconfig | 4 | ||||
-rw-r--r-- | arch/xtensa/kernel/entry.S | 2 | ||||
-rw-r--r-- | arch/xtensa/kernel/signal.c | 10 |
3 files changed, 6 insertions, 10 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index dbeb3504c3c8..848f173db257 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig | |||
@@ -34,10 +34,6 @@ config GENERIC_HARDIRQS | |||
34 | bool | 34 | bool |
35 | default y | 35 | default y |
36 | 36 | ||
37 | config RWSEM_GENERIC_SPINLOCK | ||
38 | bool | ||
39 | default y | ||
40 | |||
41 | source "init/Kconfig" | 37 | source "init/Kconfig" |
42 | 38 | ||
43 | menu "Processor type and features" | 39 | menu "Processor type and features" |
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S index 5c018c503dfa..89e409e9e0de 100644 --- a/arch/xtensa/kernel/entry.S +++ b/arch/xtensa/kernel/entry.S | |||
@@ -1102,7 +1102,7 @@ ENTRY(fast_syscall_sysxtensa) | |||
1102 | s32i a7, a2, PT_AREG7 | 1102 | s32i a7, a2, PT_AREG7 |
1103 | 1103 | ||
1104 | movi a7, 4 # sizeof(unsigned int) | 1104 | movi a7, 4 # sizeof(unsigned int) |
1105 | verify_area a3, a7, a0, a2, .Leac | 1105 | access_ok a0, a3, a7, a2, .Leac |
1106 | 1106 | ||
1107 | _beqi a6, SYSXTENSA_ATOMIC_SET, .Lset | 1107 | _beqi a6, SYSXTENSA_ATOMIC_SET, .Lset |
1108 | _beqi a6, SYSXTENSA_ATOMIC_EXG_ADD, .Lexg | 1108 | _beqi a6, SYSXTENSA_ATOMIC_EXG_ADD, .Lexg |
diff --git a/arch/xtensa/kernel/signal.c b/arch/xtensa/kernel/signal.c index e252b61e45a5..beba497e78df 100644 --- a/arch/xtensa/kernel/signal.c +++ b/arch/xtensa/kernel/signal.c | |||
@@ -104,7 +104,7 @@ sys_sigaction(int sig, const struct old_sigaction *act, | |||
104 | 104 | ||
105 | if (act) { | 105 | if (act) { |
106 | old_sigset_t mask; | 106 | old_sigset_t mask; |
107 | if (verify_area(VERIFY_READ, act, sizeof(*act)) || | 107 | if (!access_ok(VERIFY_READ, act, sizeof(*act)) || |
108 | __get_user(new_ka.sa.sa_handler, &act->sa_handler) || | 108 | __get_user(new_ka.sa.sa_handler, &act->sa_handler) || |
109 | __get_user(new_ka.sa.sa_restorer, &act->sa_restorer)) | 109 | __get_user(new_ka.sa.sa_restorer, &act->sa_restorer)) |
110 | return -EFAULT; | 110 | return -EFAULT; |
@@ -116,7 +116,7 @@ sys_sigaction(int sig, const struct old_sigaction *act, | |||
116 | ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL); | 116 | ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL); |
117 | 117 | ||
118 | if (!ret && oact) { | 118 | if (!ret && oact) { |
119 | if (verify_area(VERIFY_WRITE, oact, sizeof(*oact)) || | 119 | if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) || |
120 | __put_user(old_ka.sa.sa_handler, &oact->sa_handler) || | 120 | __put_user(old_ka.sa.sa_handler, &oact->sa_handler) || |
121 | __put_user(old_ka.sa.sa_restorer, &oact->sa_restorer)) | 121 | __put_user(old_ka.sa.sa_restorer, &oact->sa_restorer)) |
122 | return -EFAULT; | 122 | return -EFAULT; |
@@ -236,7 +236,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *sc) | |||
236 | err |= __copy_from_user (regs->areg, sc->sc_areg, XCHAL_NUM_AREGS*4); | 236 | err |= __copy_from_user (regs->areg, sc->sc_areg, XCHAL_NUM_AREGS*4); |
237 | err |= __get_user(buf, &sc->sc_cpstate); | 237 | err |= __get_user(buf, &sc->sc_cpstate); |
238 | if (buf) { | 238 | if (buf) { |
239 | if (verify_area(VERIFY_READ, buf, sizeof(*buf))) | 239 | if (!access_ok(VERIFY_READ, buf, sizeof(*buf))) |
240 | goto badframe; | 240 | goto badframe; |
241 | err |= restore_cpextra(buf); | 241 | err |= restore_cpextra(buf); |
242 | } | 242 | } |
@@ -357,7 +357,7 @@ asmlinkage int sys_sigreturn(struct pt_regs *regs) | |||
357 | if (regs->depc > 64) | 357 | if (regs->depc > 64) |
358 | panic ("Double exception sys_sigreturn\n"); | 358 | panic ("Double exception sys_sigreturn\n"); |
359 | 359 | ||
360 | if (verify_area(VERIFY_READ, frame, sizeof(*frame))) | 360 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) |
361 | goto badframe; | 361 | goto badframe; |
362 | 362 | ||
363 | if (__get_user(set.sig[0], &frame->sc.oldmask) | 363 | if (__get_user(set.sig[0], &frame->sc.oldmask) |
@@ -394,7 +394,7 @@ asmlinkage int sys_rt_sigreturn(struct pt_regs *regs) | |||
394 | return 0; | 394 | return 0; |
395 | } | 395 | } |
396 | 396 | ||
397 | if (verify_area(VERIFY_READ, frame, sizeof(*frame))) | 397 | if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) |
398 | goto badframe; | 398 | goto badframe; |
399 | 399 | ||
400 | if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) | 400 | if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) |