The following diff fixes an assertwaitok() panic. Okay?
Index: linux_futex.c
===================================================================
RCS file: /cvs/src/sys/compat/linux/linux_futex.c,v
retrieving revision 1.1
diff -u -p -r1.1 linux_futex.c
--- linux_futex.c 18 Sep 2011 02:23:18 -0000 1.1
+++ linux_futex.c 15 Jun 2012 11:31:04 -0000
@@ -203,7 +203,9 @@ linux_do_futex(struct proc *p, const str
if (SCARG(uap, timeout) != NULL && timeout_hz == 0)
timeout_hz = 1;
+ mtx_leave(&futex_lock);
wp = pool_get(&futex_wp_pool, PR_WAITOK);
+ mtx_enter(&futex_lock);
f = futex_get(SCARG(uap, uaddr));
ret = futex_sleep(&f, p, timeout_hz, wp);