uml: eliminate setjmp_wrapper
commit8efa3c9d545ab6adc5c5e001cbd7aee60909b3da
authorJeff Dike <jdike@addtoit.com>
Tue, 5 Feb 2008 06:31:07 +0000 (4 22:31 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 5 Feb 2008 17:44:29 +0000 (5 09:44 -0800)
tree1ec5750233c242168f17a9669ff4ba4aa113a2e6
parent0b4e273fb83bce5dd8e166a4defb16ebdd215abf
uml: eliminate setjmp_wrapper

setjmp_wrapper existed to provide setjmp to kernel code when UML used libc's
setjmp and longjmp.  Now that UML has its own implementation, this isn't
needed and kernel code can invoke setjmp directly.

do_buffer_op is massively cleaned up since it is no longer a callback from
setjmp_wrapper and given a va_list from which it must extract its arguments.

The actual setjmp is moved from buffer_op to do_op_one_page because the copy
operation is inside an atomic section (kmap_atomic to kunmap_atomic) and it
shouldn't be longjmp-ed out of.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/include/os.h
arch/um/kernel/skas/uaccess.c
arch/um/os-Linux/util.c