From owner-freebsd-hackers Mon Sep 18 00:50:35 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id AAA06691 for hackers-outgoing; Mon, 18 Sep 1995 00:50:35 -0700 Received: from ref.tfs.com (ref.tfs.com [140.145.254.251]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id AAA06686 for ; Mon, 18 Sep 1995 00:50:34 -0700 Received: (from julian@localhost) by ref.tfs.com (8.6.11/8.6.9) id AAA01170 for hackers@freebsd.org; Mon, 18 Sep 1995 00:50:32 -0700 From: Julian Elischer Message-Id: <199509180750.AAA01170@ref.tfs.com> Subject: suspect code in 'unlink' syscall. To: hackers@freebsd.org Date: Mon, 18 Sep 1995 00:50:32 -0700 (PDT) X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 701 Sender: owner-hackers@freebsd.org Precedence: bulk looking at 'unlink (2)' I see, if (vp->v_type != VDIR || (error = suser(p->p_ucred, &p->p_acflag)) == 0) { /* * The root of a mounted filesystem cannot be deleted. */ if (vp->v_flag & VROOT) error = EBUSY; else (void) vnode_pager_uncache(vp); } I translate this as: "if it's not a DIR, or we are root", check if we are deleteing the root of an FS, if not, flush cache...... now, if we were NOT root, and it IS a dir...... (normal...) can we delete it? I'm about to try this.. if you dont hear from me, the building exploded... julian :)