From owner-freebsd-hackers Thu Apr 17 23:27:31 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id XAA06843 for hackers-outgoing; Thu, 17 Apr 1997 23:27:31 -0700 (PDT) Received: from paris.CS.Berkeley.EDU (paris.CS.Berkeley.EDU [128.32.34.47]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id XAA06837 for ; Thu, 17 Apr 1997 23:27:27 -0700 (PDT) Received: (from jmacd@localhost) by paris.CS.Berkeley.EDU (8.8.3/8.8.2) id XAA15953 for freebsd-hackers@freebsd.org; Thu, 17 Apr 1997 23:27:26 -0700 (PDT) Date: Thu, 17 Apr 1997 23:27:26 -0700 (PDT) From: Josh MacDonald Message-Id: <199704180627.XAA15953@paris.CS.Berkeley.EDU> To: freebsd-hackers@freebsd.org Subject: O_EXCL Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk In the man page for open, it says that O_EXCL causes symlinks not to be followed. However, when I was reading the code, I found that its broken. In the open syscall, it does NDINIT with the FOLLOW flag already set, and then in vn_open, which is called shortly thereafter with the nameidata struct, it does: if ((fmode & O_EXCL) == 0) ndp->.... |= FOLLOW;\ It looks to me like its broken, and either it should be fixed with the trivial fix, or the documentation for open fixed. -josh