
From: Hugh Dickins <hugh@veritas.com>

Manfred's fix for copy_mount_options with 4G/4G + CONFIG_DEBUG_PAGEALLOC
makes trouble for do_execve with 4G/4G + CONFIG_DEBUG_SPINLOCK_SLEEP:
prepare_binrpm..  vfs_read..  file_read_actor..  (kmap_atomic)
put_user_size..  __might_sleep.  These underscores work for my case: for
yours, Manfred?



 25-akpm/mm/usercopy.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN mm/usercopy.c~4g4g-might_sleep-warning-fix mm/usercopy.c
--- 25/mm/usercopy.c~4g4g-might_sleep-warning-fix	Tue Sep  9 11:56:42 2003
+++ 25-akpm/mm/usercopy.c	Tue Sep  9 11:56:42 2003
@@ -192,7 +192,7 @@ int get_user_size(unsigned int size, voi
 	int ret;
 
 	if (unlikely(segment_eq(get_fs(), KERNEL_DS))) {
-		direct_copy_from_user(val, ptr, size);
+		__direct_copy_from_user(val, ptr, size);
 		return 0;
 	}
 	ret = rw_vm((unsigned long)ptr, val, size, 0);
@@ -212,7 +212,7 @@ int get_user_size(unsigned int size, voi
 int put_user_size(unsigned int size, const void *val, void *ptr)
 {
 	if (unlikely(segment_eq(get_fs(), KERNEL_DS))) {
-		direct_copy_to_user(ptr, val, size);
+		__direct_copy_to_user(ptr, val, size);
 		return 0;
 	}
 	return rw_vm((unsigned long)ptr, (void *)val, size, 1);

_
