----- Original Message ----- From: "Andriy Gapon" <a...@freebsd.org>

diff -u sys/kern/kern_jail.c.orig sys/kern/kern_jail.c
--- sys/kern/kern_jail.c.orig   2011-08-20 21:17:14.856618854 +0100
+++ sys/kern/kern_jail.c        2011-08-20 21:18:35.307201425 +0100
@@ -2455,7 +2455,8 @@
                       if (--tpr->pr_uref > 0)
                               break;
                       KASSERT(tpr != &prison0, ("prison0 pr_uref=0"));
-                       mtx_unlock(&tpr->pr_mtx);
+                       if (tpr != pr)
+                               mtx_unlock(&tpr->pr_mtx);
               }
               /* Done if there were only user references to remove. */
               if (!(flags & PD_DEREF)) {

Not sure if this would fly as is - please double check the later block where
pr->pr_mtx is re-locked.

Will do, I'm now 99.9% sure this is the problem and even better I now have a
reproducible scenario :)

Something else you many be more interested in Andriy:-
I added in debugging options DDB & INVARIANTS to see if I can get a more
useful info and the panic results in a looping panic constantly scrolling up
the console. Not sure if this is a side effect of the patches we've been
trying.

Going to see if I can confirm that, lmk if there's something you want me
to try?

   Regards
   Steve

================================================
This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it.
In the event of misdirection, illegible or incomplete transmission please 
telephone +44 845 868 1337
or return the E.mail to postmas...@multiplay.co.uk.

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to