patch-2.1.16 linux/arch/sparc/kernel/sys_sparc.c
Next file: linux/arch/sparc/kernel/sys_sunos.c
Previous file: linux/arch/sparc/kernel/switch.S
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
Fri Dec 13 11:37:31 1996
- Orig file:
v2.1.15/linux/arch/sparc/kernel/sys_sparc.c
- Orig date:
Tue Nov 12 15:56:03 1996
diff -u --recursive --new-file v2.1.15/linux/arch/sparc/kernel/sys_sparc.c linux/arch/sparc/kernel/sys_sparc.c
@@ -1,4 +1,4 @@
-/* $Id: sys_sparc.c,v 1.25 1996/11/03 20:58:07 davem Exp $
+/* $Id: sys_sparc.c,v 1.28 1996/12/12 09:39:25 jj Exp $
* linux/arch/sparc/kernel/sys_sparc.c
*
* This file contains various random system calls that
@@ -179,39 +179,15 @@
return -ENOMEM;
}
}
- retval = do_mmap(file, addr, len, prot, flags, off);
- return retval;
-}
-extern int do_open_namei(const char * pathname, int flag, int mode,
- struct inode ** res_inode, struct inode * base);
+ /* See asm-sparc/uaccess.h */
+ if((len > (TASK_SIZE - PAGE_SIZE)) || (addr > (TASK_SIZE-len-PAGE_SIZE)))
+ return -EINVAL;
-#define BSD_EMUL "/usr/gnemul/sunos"
-#define SOL_EMUL "/usr/gnemul/solaris"
-
-int
-open_namei(const char * pathname, int flag, int mode,
- struct inode ** res_inode, struct inode * base)
-{
- if (!base && (current->personality & (PER_BSD|PER_SVR4)) && *pathname == '/'){
- struct inode *emul_ino;
- const char *p = pathname;
- char *emul_path = current->personality & PER_BSD ? BSD_EMUL : SOL_EMUL;
- int v;
-
- while (*p == '/')
- p++;
-
- if (do_open_namei (emul_path, flag, mode, &emul_ino, NULL) >= 0 && emul_ino){
- v = do_open_namei (p, flag, mode, res_inode, emul_ino);
- if (v >= 0)
- return v;
- }
- }
- return do_open_namei (pathname, flag, mode, res_inode, base);
+ retval = do_mmap(file, addr, len, prot, flags, off);
+ return retval;
}
-
/* we come to here via sys_nis_syscall so it can setup the regs argument */
asmlinkage unsigned long
c_sys_nis_syscall (struct pt_regs *regs)
@@ -235,3 +211,16 @@
#endif
}
+extern int
+sys_sigaction (int signum, const struct sigaction *action, struct sigaction *oldaction);
+
+asmlinkage int
+sparc_sigaction (int signum, const struct sigaction *action, struct sigaction *oldaction)
+{
+ if (signum >= 0){
+ return sys_sigaction (signum, action, oldaction);
+ } else {
+ current->tss.new_signal = 1;
+ return sys_sigaction (-signum, action, oldaction);
+ }
+}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov