summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2016-12-04 15:55:59 +0000
committerjilles <jilles@FreeBSD.org>2016-12-04 15:55:59 +0000
commitccf958c4684e753bca88fbe5b9eedbaf803fb5ec (patch)
tree6f98cf43edbceeb34339d49d476d4d517c77beff /lib/libc
parent7f7247bd2777a8e1e3f557763412baa8a2a4f32b (diff)
downloadFreeBSD-src-ccf958c4684e753bca88fbe5b9eedbaf803fb5ec.zip
FreeBSD-src-ccf958c4684e753bca88fbe5b9eedbaf803fb5ec.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')
-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