patch-2.4.0-test8 linux/arch/sparc/kernel/sys_solaris.c

Next file: linux/arch/sparc/kernel/traps.c
Previous file: linux/arch/sparc/kernel/sunos_ioctl.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test7/linux/arch/sparc/kernel/sys_solaris.c linux/arch/sparc/kernel/sys_solaris.c
@@ -16,30 +16,13 @@
 #include <linux/smp_lock.h>
 #include <linux/module.h>
 
-/* CHECKME: this stuff looks rather bogus */
 asmlinkage int
 do_solaris_syscall (struct pt_regs *regs)
 {
-	int ret;
-
-	lock_kernel();
-	set_personality(PER_SVR4);
-
-	if (current->exec_domain && current->exec_domain->handler){
-		current->exec_domain->handler (0, regs);
-
-		/* What is going on here?  Why do we do this? */
-
-		/* XXX current->exec_domain->use_count = 0; XXX */
-
-		ret = regs->u_regs [UREG_I0];
-	} else {
-		printk ("No solaris handler\n");
-		send_sig (SIGSEGV, current, 1);
-		ret = 0;
-	}
-	unlock_kernel();
-	return ret;
+	static int cnt = 0;
+	if (++cnt < 10) printk ("No solaris handler\n");
+	force_sig(SIGSEGV, current);
+	return 0;
 }
 
 #ifndef CONFIG_SUNOS_EMUL
@@ -48,9 +31,7 @@
 {
 	static int cnt = 0;
 	if (++cnt < 10) printk ("SunOS binary emulation not compiled in\n");
-	lock_kernel();
 	force_sig (SIGSEGV, current);
-	unlock_kernel();
 	return 0;
 }
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)