Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 356673
b: refs/heads/master
c: d970e42
h: refs/heads/master
i:
  356671: 9e023ce
v: v3
  • Loading branch information
Al Viro committed Feb 3, 2013
1 parent d2fee79 commit 04cf4dd
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6ec78be4cdff4db6e6ea930db9f5d912bc05febc
refs/heads/master: d970e42897525adc836207b44ef64347e59d613e
1 change: 0 additions & 1 deletion trunk/arch/c6x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ config C6X
select OF_EARLY_FLATTREE
select GENERIC_CLOCKEVENTS
select MODULES_USE_ELF_RELA
select GENERIC_SIGALTSTACK

config MMU
def_bool n
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/c6x/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,18 @@ ENTRY(enable_exception)
NOP 5
ENDPROC(enable_exception)

ENTRY(sys_sigaltstack)
#ifdef CONFIG_C6X_BIG_KERNEL
MVKL .S1 do_sigaltstack,A0 ; branch to do_sigaltstack
MVKH .S1 do_sigaltstack,A0
B .S2X A0
#else
B .S2 do_sigaltstack
#endif
LDW .D2T1 *+SP(REGS_SP+8),A6
NOP 4
ENDPROC(sys_sigaltstack)

;;
;; Special system calls
;; return address is in B3
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/cris/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ config CRIS
select GENERIC_CMOS_UPDATE
select MODULES_USE_ELF_RELA
select CLONE_BACKWARDS2
select GENERIC_SIGALTSTACK

config HZ
int
Expand Down
8 changes: 1 addition & 7 deletions trunk/arch/cris/arch-v10/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,6 @@ int sys_sigaction(int sig, const struct old_sigaction __user *act,
return ret;
}

int sys_sigaltstack(const stack_t *uss, stack_t __user *uoss)
{
return do_sigaltstack(uss, uoss, rdusp());
}


/*
* Do a signal return; undo the signal stack.
*/
Expand Down Expand Up @@ -214,7 +208,7 @@ asmlinkage int sys_rt_sigreturn(long r10, long r11, long r12, long r13,
if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
goto badframe;

if (do_sigaltstack(&frame->uc.uc_stack, NULL, rdusp()) == -EFAULT)
if (restore_altstack(&frame->uc.uc_stack))
goto badframe;

return regs->r10;
Expand Down
8 changes: 1 addition & 7 deletions trunk/arch/cris/arch-v32/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,6 @@ sys_sigaction(int signal, const struct old_sigaction *act,
return retval;
}

int
sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss)
{
return do_sigaltstack(uss, uoss, rdusp());
}

static int
restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc)
{
Expand Down Expand Up @@ -209,7 +203,7 @@ sys_rt_sigreturn(long r10, long r11, long r12, long r13, long mof, long srp,
if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
goto badframe;

if (do_sigaltstack(&frame->uc.uc_stack, NULL, rdusp()) == -EFAULT)
if (restore_altstack(&frame->uc.uc_stack))
goto badframe;

keep_debug_flags(oldccs, oldspc, regs);
Expand Down

0 comments on commit 04cf4dd

Please sign in to comment.