summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2016-12-04 16:00:25 +0000
committerjilles <jilles@FreeBSD.org>2016-12-04 16:00:25 +0000
commitb0e9d555db88639874b99e5151bf5981a8223322 (patch)
tree320b4d316927b6ce4fce8b3a16d51e1cfa17f259 /lib/libc/sys
parentf1c5c5c049f0239048da64376609e69e8329e73e (diff)
downloadFreeBSD-src-b0e9d555db88639874b99e5151bf5981a8223322.zip
FreeBSD-src-b0e9d555db88639874b99e5151bf5981a8223322.tar.gz
MFC r309026: open(2): Clarify non-POSIX error when opening a symlink with
O_NOFOLLOW. We return [EMLINK] instead of [ELOOP] when trying to open a symlink with O_NOFOLLOW, so that the original case of [ELOOP] can be distinguished. Code like cmp -h and xz takes advantage of this. PR: 214633
Diffstat (limited to 'lib/libc/sys')
-rw-r--r--lib/libc/sys/open.218
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/libc/sys/open.2 b/lib/libc/sys/open.2
index a546666..1dbc493 100644
--- a/lib/libc/sys/open.2
+++ b/lib/libc/sys/open.2
@@ -28,7 +28,7 @@
.\" @(#)open.2 8.2 (Berkeley) 11/16/93
.\" $FreeBSD$
.\"
-.Dd April 2, 2015
+.Dd November 22, 2016
.Dt OPEN 2
.Os
.Sh NAME
@@ -471,6 +471,22 @@ The
.Fn openat
function was introduced in
.Fx 8.0 .
+.Sh STANDARDS
+These functions are specified by
+.St -p1003.1-2008 .
+.Fx
+sets
+.Va errno
+to
+.Er EMLINK instead of
+.Er ELOOP
+as specified by
+.Tn POSIX
+when
+.Dv O_NOFOLLOW
+is set in flags and the final component of pathname is a symbolic link
+to distinguish it from the case of too many symbolic link traversals
+in one of its non-final components.
.Sh BUGS
The Open Group Extended API Set 2 specification requires that the test
for whether
OpenPOWER on IntegriCloud