DragonFly kernel List (threaded) for 2009-04
DragonFly BSD
DragonFly kernel List (threaded) for 2009-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Rewrite of revoke() system call available for testing - patch #3


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 1 Apr 2009 09:22:01 -0700 (PDT)

:Hi, just gave it a try on VKERNEL (-n 2) built from the source
:DragonFly-2.3.0.555.gb364b with your patch applied.  It panicked just
:before login prompt.  Booting into single user mode is OK, but issuing
:`reboot' command from single user prompt also triggers a similarly
:looking panic.
:
:...
:dupfdopen(5a7ca758,5a695bc0,5a695bc0,593cd418,59368488) at 0x80a3ccc
:allproc_scan(80a3baa,5a695bc0,59400228,1,0) at 0x80b3139
:fdrevoke(59400228,1,59368488,59400228,830b2bc) at 0x80a435f
:vrevoke(59400228,59368488,59400228,55b01290,593f9100) at 0x8103b79

    Ok, patch #3 is up:

    fetch http://apollo.backplane.com/DFlyMisc/revoke03.patch

    The only change I made was to move the vn_unlock() on line
    346 of kern/tty.c from after the revoke to before the revoke:

	if (vp->v_flag & VCTTYISOPEN) {
		vclrflags(vp, VCTTYISOPEN);
		VOP_CLOSE(vp, FREAD|FWRITE);
	}
	vn_unlock(vp);		<<<<<<<<<<<<<<< vn_unlock moved to here
	if (dorevoke)
		vrevoke(vp, proc0.p_ucred);
				<<<<<<<<<<<<<<< used to be here
	vdrop(vp);

					-Matt




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]