1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-18 17:24:29 +03:00

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
This commit is contained in:
Adhemerval Zanella
2016-11-18 16:41:00 -02:00
parent c73c7fc07c
commit e92bd6e362
4 changed files with 15 additions and 33 deletions

View File

@@ -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