diff options
Diffstat (limited to 'arch/sparc')
| -rw-r--r-- | arch/sparc/include/asm/prom.h | 5 | ||||
| -rw-r--r-- | arch/sparc/kernel/signal_64.c | 4 | 
2 files changed, 5 insertions, 4 deletions
diff --git a/arch/sparc/include/asm/prom.h b/arch/sparc/include/asm/prom.h index f93003123bc..67c62578d17 100644 --- a/arch/sparc/include/asm/prom.h +++ b/arch/sparc/include/asm/prom.h @@ -63,10 +63,13 @@ extern char *of_console_options;  extern void irq_trans_init(struct device_node *dp);  extern char *build_path_component(struct device_node *dp); -/* SPARC has a local implementation */ +/* SPARC has local implementations */  extern int of_address_to_resource(struct device_node *dev, int index,  				  struct resource *r);  #define of_address_to_resource of_address_to_resource +void __iomem *of_iomap(struct device_node *node, int index); +#define of_iomap of_iomap +  #endif /* __KERNEL__ */  #endif /* _SPARC_PROM_H */ diff --git a/arch/sparc/kernel/signal_64.c b/arch/sparc/kernel/signal_64.c index 867de2f8189..689e1ba6280 100644 --- a/arch/sparc/kernel/signal_64.c +++ b/arch/sparc/kernel/signal_64.c @@ -295,9 +295,7 @@ void do_rt_sigreturn(struct pt_regs *regs)  		err |= restore_fpu_state(regs, fpu_save);  	err |= __copy_from_user(&set, &sf->mask, sizeof(sigset_t)); -	err |= do_sigaltstack(&sf->stack, NULL, (unsigned long)sf); - -	if (err) +	if (err || do_sigaltstack(&sf->stack, NULL, (unsigned long)sf) == -EFAULT)  		goto segv;  	err |= __get_user(rwin_save, &sf->rwin_save);  |