patch-2.4.0-test3 linux/arch/sparc64/kernel/sys_sparc.c

Next file: linux/arch/sparc64/kernel/sys_sparc32.c
Previous file: linux/arch/sparc64/kernel/sparc64_ksyms.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test2/linux/arch/sparc64/kernel/sys_sparc.c linux/arch/sparc64/kernel/sys_sparc.c
@@ -1,4 +1,4 @@
-/* $Id: sys_sparc.c,v 1.41 2000/06/22 11:42:25 davem Exp $
+/* $Id: sys_sparc.c,v 1.43 2000/07/06 01:41:29 davem Exp $
  * linux/arch/sparc64/kernel/sys_sparc.c
  *
  * This file contains various random system calls that
@@ -92,14 +92,12 @@
 	int fd[2];
 	int error;
 
-	lock_kernel();
 	error = do_pipe(fd);
 	if (error)
 		goto out;
 	regs->u_regs[UREG_I1] = fd[1];
 	error = fd[0];
 out:
-	unlock_kernel();
 	return error;
 }
 
@@ -113,7 +111,6 @@
 {
 	int err;
 
-	lock_kernel();
 	/* No need for backward compatibility. We can start fresh... */
 
 	if (call <= SEMCTL)
@@ -179,7 +176,6 @@
 	else
 		err = -EINVAL;
 out:
-	unlock_kernel();
 	return err;
 }
 
@@ -200,11 +196,9 @@
 asmlinkage int sparc64_personality(unsigned long personality)
 {
 	int ret;
-	lock_kernel();
 	if (current->personality == PER_LINUX32 && personality == PER_LINUX)
 		personality = PER_LINUX32;
 	ret = sys_personality(personality);
-	unlock_kernel();
 	if (ret == PER_LINUX32)
 		ret = PER_LINUX;
 	return ret;
@@ -227,9 +221,6 @@
 	len = PAGE_ALIGN(len);
 	retval = -EINVAL;
 
-	down(&current->mm->mmap_sem);
-	lock_kernel();
-
 	if (current->thread.flags & SPARC_FLAG_32BIT) {
 		if (len > 0xf0000000UL ||
 		    ((flags & MAP_FIXED) && addr > 0xf0000000UL - len))
@@ -241,11 +232,11 @@
 			goto out_putf;
 	}
 
+	down(&current->mm->mmap_sem);
 	retval = do_mmap(file, addr, len, prot, flags, off);
+	up(&current->mm->mmap_sem);
 
 out_putf:
-	unlock_kernel();
-	up(&current->mm->mmap_sem);
 	if (file)
 		fput(file);
 out:

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