From e92bd6e362470aa0a79cfb19a512944f0761184b Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Fri, 18 Nov 2016 16:41:00 -0200 Subject: Fix hurd __access_noerrno implementation. This patch fixes some hurd bits from commit afcf3cd8eb that added the __access_noerrno internal symbol. It basically removes the nonrequired __hurd_fail_noerrno (since the 'err' argument is ignored) and fixes a typo for EACCES. However, as stated on maillist [1] this __access_noerrno may still be unsafe to run during initialization of tunables on the Hurd. The access_common calls __hurd_file_name_lookup, which calls __hurd_file_name_lookup_retry, which can set errno. [1] https://sourceware.org/ml/libc-alpha/2016-11/msg00646.html --- include/unistd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/unistd.h b/include/unistd.h index 6144f41..16d68a1 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -183,7 +183,8 @@ extern int __getlogin_r_loginuid (char *name, size_t namesize) # if IS_IN (rtld) || !defined SHARED /* __access variant that does not set errno. Used in very early initialization - code in libc.a and ld.so. */ + code in libc.a and ld.so. It follows access return semantics (zero for + sucess otherwise a value different than 0). */ extern __typeof (__access) __access_noerrno attribute_hidden; # endif -- cgit v1.1