From: Hugh Dickins 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); _