Date: Mon, 18 Sep 1995 01:06:48 -0700 (PDT) From: Julian Elischer <julian@ref.tfs.com> To: julian@ref.tfs.com (Julian Elischer) Cc: hackers@freebsd.org Subject: Re: suspect code in 'unlink' syscall. Message-ID: <199509180806.BAA01219@ref.tfs.com> In-Reply-To: <199509180750.AAA01170@ref.tfs.com> from "Julian Elischer" at Sep 18, 95 00:50:32 am
next in thread | previous in thread | raw e-mail | index | archive | help
> > 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? The answer is 'NO' but I'm not sure I see why.. AH I just found it.. only root can unlink a dir, all others can only do 'rmdir' calls.. ok, I admit it.. I need to go to sleep. > I'm about to try this.. > if you don't hear from me, the building exploded... It didn't > > julian :) > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509180806.BAA01219>