io: drop nonnull attribute for fchmodat, faccessat, fchownat's path argument [BZ #34313]

Since Linux 6.11, AT_EMPTY_PATH can be used for a NULL path argument, so
the nonnull attribute is no longer sound. Drop it.

This bug was worked around in gnulib's 6db27b4dd36eda618db20e997ff56bbed7fce3cb.

See also 55618e1396 which fixed fstatat
in glibc.

Bug: https://sourceware.org/PR34313
Reviewed-by: Paul Eggert <eggert@cs.ucla.edu>
This commit is contained in:
Sam James
2026-08-30 03:50:06 +01:00
parent 81f3dfabc9
commit 5bcfeca12b
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -370,7 +370,7 @@ extern int fchmod (int __fd, __mode_t __mode) __THROW;
the directory FD is open on. */
extern int fchmodat (int __fd, const char *__file, __mode_t __mode,
int __flag)
__THROW __nonnull ((2)) __wur;
__THROW __wur;
#endif /* Use ATFILE. */
+2 -2
View File
@@ -307,7 +307,7 @@ extern int execveat (int __fd, const char *__path, char *const __argv[],
If AT_EACCESS is set in FLAG, then use effective IDs like `eaccess',
otherwise use real IDs like `access'. */
extern int faccessat (int __fd, const char *__file, int __type, int __flag)
__THROW __nonnull ((2)) __wur;
__THROW __wur;
#endif /* Use GNU. */
@@ -510,7 +510,7 @@ extern int lchown (const char *__file, __uid_t __owner, __gid_t __group)
on. */
extern int fchownat (int __fd, const char *__file, __uid_t __owner,
__gid_t __group, int __flag)
__THROW __nonnull ((2)) __wur;
__THROW __wur;
#endif /* Use GNU. */
/* Change the process's working directory to PATH. */