From owner-freebsd-stable@FreeBSD.ORG Wed Sep 26 15:53:18 2007 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB6ED16A46B for ; Wed, 26 Sep 2007 15:53:18 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from gaia.nimnet.asn.au (nimbin.lnk.telstra.net [139.130.45.143]) by mx1.freebsd.org (Postfix) with ESMTP id 5E44713C459 for ; Wed, 26 Sep 2007 15:53:16 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from localhost (smithi@localhost) by gaia.nimnet.asn.au (8.8.8/8.8.8R1.5) with SMTP id BAA05334; Thu, 27 Sep 2007 01:53:07 +1000 (EST) (envelope-from smithi@nimnet.asn.au) Date: Thu, 27 Sep 2007 01:53:06 +1000 (EST) From: Ian Smith To: LI Xin In-Reply-To: <46F972DA.4020704@delphij.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: freebsd-stable@freebsd.org Subject: Re: rm(1) bug, possibly serious X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2007 15:53:18 -0000 On Tue, 25 Sep 2007, LI Xin wrote: > Oliver Fromme wrote: > > Nicolas Rachinsky wrote: > > > Oliver Fromme wrote: > > > > By the way, an additional confusion is that ".." and "../" > > > > are handled differently. Specifying ".." always leads to > > > > this message: > > > > > > > > rm: "." and ".." may not be removed > > > > > > > > and nothing is actually removed. It is confusing that > > > > adding a slash leads to a different error message _and_ > > > > removal of the contents of the parent directory. Clearly > > > > a POLA violation. Clearly a bug, and well spotted, especially if as old as reported. > > > > > > Adding a slash often leads to different behaviour. > > > > Yes, I'm aware of that. I often make use of the feature > > that "find /sys/" expands the symlink, while "find /sys" > > does not. The same holds true for ls(1). But fortunately not for rm(1): The rm utility removes symbolic links, not the files referenced by the links. It is an error to attempt to remove the files /, . or .. > > However, I would still argue that there is no sane reason > > for "rm -rf ../" behaving differently from "rm -rf ..", > > especially because it behaves differently in a destructive > > way. That's why I call it a POLA violation. > > Also a POSIX violation IMHO :-) Indeed; I can't imagine a situation where removing "." (let alone "..") and so orphaning the pwd might be considered sane, never mind legal .. but maybe I lack imagination :) Cheers, Ian