1
linux/arch/um/kernel
Paolo 'Blaisorblade' Giarrusso 47e5243afe [PATCH] uml: make copy_*_user atomic
Make __copy_*_user_inatomic really atomic to avoid "Sleeping function called in
atomic context" warnings, especially from futex code.

This is made by adding another kmap_atomic slot and making copy_*_user_skas
use kmap_atomic; also copy_*_user() becomes atomic, but that's true and is not
a problem for i386 (and we can always add might_sleep there as done
elsewhere).  For TT mode kmap is not used, so there's no need for this.

I've had to use another slot since both KM_USER0 and KM_USER1 are used
elsewhere and could cause conflicts.  Till now we reused the kmap_atomic slot
list from the subarch, but that's not needed as that list must contain the
common ones (used by generic code) + the ones used in architecture specific
code (and Uml till now used none); so I've taken the i386 one after comparing
it with ones from other archs, and added KM_UML_USERCOPY.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-01 09:56:03 -07:00
..
skas [PATCH] uml: make copy_*_user atomic 2006-07-01 09:56:03 -07:00
tt [PATCH] uml: clean arch_switch usage 2006-03-31 12:18:52 -08:00
asm-offsets.c [PATCH] uml: fix missing KBUILD_BASENAME 2006-01-11 18:42:09 -08:00
config.c.in
dyn.lds.S
exec_kern.c [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
exitcode.c
gmon_syms.c
gprof_syms.c
init_task.c
initrd.c
irq.c [PATCH] genirq: rename desc->handler to desc->chip 2006-06-29 10:26:21 -07:00
ksyms.c [PATCH] uml: fix some double export warnings 2006-04-11 06:18:36 -07:00
Makefile [PATCH] uml: move tty logging to os-Linux 2006-03-27 08:44:38 -08:00
mem.c [PATCH] uml: redeclare highmem 2006-03-31 12:18:50 -08:00
physmem.c Merge git://git.infradead.org/~dwmw2/rbtree-2.6 2006-06-20 14:51:22 -07:00
process_kern.c [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
ptrace.c [PATCH] drop task argument of audit_syscall_{entry,exit} 2006-05-01 06:06:18 -04:00
reboot.c [PATCH] uml: avoid "CONFIG_NR_CPUS undeclared" bogus error messages 2006-02-01 08:53:23 -08:00
resource.c
sigio_kern.c [PATCH] uml: move SIGIO startup code to os-Linux/start_up.c 2006-03-27 08:44:38 -08:00
signal_kern.c [PATCH] uml: use generic sys_rt_sigsuspend 2006-01-18 19:20:30 -08:00
smp.c [PATCH] pidhash: don't count idle threads 2006-03-28 18:36:41 -08:00
syscall_kern.c [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
syscall.c [PATCH] uml: move libc-dependent time code 2006-01-18 19:20:19 -08:00
sysrq.c [PATCH] uml: Fix sysrq-r support for skas mode 2005-10-04 13:22:01 -07:00
time_kern.c [PATCH] uml: remove unneeded time definitions 2006-06-30 11:25:38 -07:00
tlb.c [PATCH] uml: fix condition in tlb flush 2005-09-22 22:17:36 -07:00
trap_kern.c [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
uaccess.c [PATCH] uml: separate libc-dependent uaccess code 2005-11-07 07:53:31 -08:00
um_arch.c [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
umid.c [PATCH] uml: umid cleanup 2006-01-06 08:33:47 -08:00
uml.lds.S
vmlinux.lds.S Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00