patch-2.1.124 linux/include/asm-sparc64/uaccess.h

Next file: linux/include/asm-sparc64/unistd.h
Previous file: linux/include/asm-sparc64/ttable.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.123/linux/include/asm-sparc64/uaccess.h linux/include/asm-sparc64/uaccess.h
@@ -1,4 +1,4 @@
-/* $Id: uaccess.h,v 1.25 1998/04/28 08:23:34 davem Exp $ */
+/* $Id: uaccess.h,v 1.27 1998/09/23 02:04:57 davem Exp $ */
 #ifndef _ASM_UACCESS_H
 #define _ASM_UACCESS_H
 
@@ -45,8 +45,10 @@
 
 #define set_fs(val)								\
 do {										\
+	unsigned long flags;							\
 	if (current->tss.current_ds.seg != val.seg) {				\
 		spin_lock(&scheduler_lock);					\
+		__save_and_cli(flags);						\
 		current->tss.current_ds = (val);				\
 		if (segment_eq((val), KERNEL_DS)) {				\
 			flushw_user ();						\
@@ -56,6 +58,7 @@
 		}								\
 		spitfire_set_secondary_context(current->tss.ctx); 		\
 		__asm__ __volatile__("flush %g6");				\
+		__restore_flags(flags);						\
 		spin_unlock(&scheduler_lock);					\
 	}									\
 } while(0)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov