On 1/4/07, Ed Schouten <[EMAIL PROTECTED]> wrote:
* Ed Schouten <[EMAIL PROTECTED]> wrote: > As long as pty's have been allocated that have been created by threads > in a jail, the prison structure has more references, causing the zombie > jails to exist. We could change the make_dev_credv() routine to crcopy() everything except the prison when we're creating a node in a jail. The following patch fixes the zombie jail bug on my machine: --- src/sys/kern/kern_conf.c Fri Oct 20 09:59:50 2006 +++ src/sys/kern/kern_conf.c Thu Jan 4 21:36:44 2007 @@ -42,6 +42,7 @@ #include <sys/ctype.h> #include <sys/tty.h> #include <sys/ucred.h> +#include <sys/jail.h> #include <machine/stdarg.h> #include <fs/devfs/devfs_int.h> @@ -563,7 +564,15 @@ dev->si_flags |= SI_NAMED; if (cr != NULL) - dev->si_cred = crhold(cr); + if (cr->cr_prison == NULL) { + dev->si_cred = crhold(cr); + } else { + /* Don't let the node depend on a prison */ + dev->si_cred = crget(); + crcopy(dev->si_cred, cr); + prison_free(dev->si_cred->cr_prison); + dev->si_cred->cr_prison = NULL; + } else dev->si_cred = NULL; dev->si_uid = uid; Could other people experiencing this problem as well give this patch a try? Thanks a lot! Yours, -- Ed Schouten <[EMAIL PROTECTED]> WWW: http://g-rave.nl/
Does this behavior still occur if you set sysctl kern.pts.enable=1 ? Is this at all related to why I have been experiencing zombies left behind for any process that alloc's its own tty (such as gnome-terminal [actually gnome-pty-helper])? If I CTRL-D to end a gnome-terminal session, it will hang all of the gnome-terminals I have open and I typically have to reboot to clear out the zombies that remain. I can't open any more apps that use gnome-pty-helper to allocate ttys unless I attempt to kill it and start it anew (and I am not even completely sure if that works). -- Coleman Kane _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"