io: statx, fstatat: Drop nonnull attribute on the path argument
Checks
| Context |
Check |
Description |
| redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
| redhat-pt-bot/TryBot-32bit |
success
|
Build for i686
|
| linaro-tcwg-bot/tcwg_glibc_build--master-arm |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
success
|
Build passed
|
| linaro-tcwg-bot/tcwg_glibc_check--master-arm |
success
|
Test passed
|
| linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 |
success
|
Test passed
|
Commit Message
From: Miao Wang <shankerwangmiao@gmail.com>
Since Linux 6.11 the kernel allows path to be NULL if flags &
AT_EMPTY_PATH. Let's allow users to take the advantage if they don't
care running on old kernels.
[ xry111: separate the obvious change from the controversial
"io: statx, fstatat64: allow using NULL as path" patch ]
Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
---
io/bits/statx-generic.h | 2 +-
io/sys/stat.h | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
Comments
* Xi Ruoyao:
> From: Miao Wang <shankerwangmiao@gmail.com>
>
> Since Linux 6.11 the kernel allows path to be NULL if flags &
> AT_EMPTY_PATH. Let's allow users to take the advantage if they don't
> care running on old kernels.
>
> [ xry111: separate the obvious change from the controversial
> "io: statx, fstatat64: allow using NULL as path" patch ]
>
> Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
> Signed-off-by: Xi Ruoyao <xry111@xry111.site>
> ---
> io/bits/statx-generic.h | 2 +-
> io/sys/stat.h | 10 +++++-----
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/io/bits/statx-generic.h b/io/bits/statx-generic.h
> index 19c3565edc..c0e00c9d8b 100644
> --- a/io/bits/statx-generic.h
> +++ b/io/bits/statx-generic.h
> @@ -62,6 +62,6 @@ __BEGIN_DECLS
> /* Fill *BUF with information about PATH in DIRFD. */
> int statx (int __dirfd, const char *__restrict __path, int __flags,
> unsigned int __mask, struct statx *__restrict __buf)
> - __THROW __nonnull ((2, 5));
> + __THROW __nonnull ((5));
>
> __END_DECLS
> diff --git a/io/sys/stat.h b/io/sys/stat.h
> index 3b4ba80132..7ea39b8755 100644
> --- a/io/sys/stat.h
> +++ b/io/sys/stat.h
> @@ -263,14 +263,14 @@ extern int __REDIRECT_NTH (fstat64, (int __fd, struct stat64 *__buf),
> # ifndef __USE_FILE_OFFSET64
> extern int fstatat (int __fd, const char *__restrict __file,
> struct stat *__restrict __buf, int __flag)
> - __THROW __nonnull ((2, 3));
> + __THROW __nonnull ((3));
> # else
> # ifdef __USE_TIME64_REDIRECTS
> # ifdef __REDIRECT_NTH
> extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
> struct stat *__restrict __buf,
> int __flag),
> - __fstatat64_time64) __nonnull ((2, 3));
> + __fstatat64_time64) __nonnull ((3));
> # else
> # define fstatat __fstatat64_time64
> # endif
> @@ -279,7 +279,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
> extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
> struct stat *__restrict __buf,
> int __flag),
> - fstatat64) __nonnull ((2, 3));
> + fstatat64) __nonnull ((3));
> # else
> # define fstatat fstatat64
> # endif
> @@ -290,7 +290,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
> # ifndef __USE_TIME64_REDIRECTS
> extern int fstatat64 (int __fd, const char *__restrict __file,
> struct stat64 *__restrict __buf, int __flag)
> - __THROW __nonnull ((2, 3));
> + __THROW __nonnull ((3));
> # else
> # ifdef __REDIRECT_NTH
> extern int __REDIRECT_NTH (fstatat64, (int __fd,
> @@ -298,7 +298,7 @@ extern int __REDIRECT_NTH (fstatat64, (int __fd,
> struct stat64 *__restrict __buf,
> int __flag),
> __fstatat64_time64)
> - __nonnull ((2, 3));
> + __nonnull ((3));
> # else
> # define fstatat64 __fstatat64_time64
> # endif
This looks good to me.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
Any objections to pushing this?
Thanks,
Florian
* Florian Weimer:
> * Xi Ruoyao:
>
>> From: Miao Wang <shankerwangmiao@gmail.com>
>>
>> Since Linux 6.11 the kernel allows path to be NULL if flags &
>> AT_EMPTY_PATH. Let's allow users to take the advantage if they don't
>> care running on old kernels.
>>
>> [ xry111: separate the obvious change from the controversial
>> "io: statx, fstatat64: allow using NULL as path" patch ]
>>
>> Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
>> Signed-off-by: Xi Ruoyao <xry111@xry111.site>
>> ---
>> io/bits/statx-generic.h | 2 +-
>> io/sys/stat.h | 10 +++++-----
>> 2 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/io/bits/statx-generic.h b/io/bits/statx-generic.h
>> index 19c3565edc..c0e00c9d8b 100644
>> --- a/io/bits/statx-generic.h
>> +++ b/io/bits/statx-generic.h
>> @@ -62,6 +62,6 @@ __BEGIN_DECLS
>> /* Fill *BUF with information about PATH in DIRFD. */
>> int statx (int __dirfd, const char *__restrict __path, int __flags,
>> unsigned int __mask, struct statx *__restrict __buf)
>> - __THROW __nonnull ((2, 5));
>> + __THROW __nonnull ((5));
>>
>> __END_DECLS
>> diff --git a/io/sys/stat.h b/io/sys/stat.h
>> index 3b4ba80132..7ea39b8755 100644
>> --- a/io/sys/stat.h
>> +++ b/io/sys/stat.h
>> @@ -263,14 +263,14 @@ extern int __REDIRECT_NTH (fstat64, (int __fd, struct stat64 *__buf),
>> # ifndef __USE_FILE_OFFSET64
>> extern int fstatat (int __fd, const char *__restrict __file,
>> struct stat *__restrict __buf, int __flag)
>> - __THROW __nonnull ((2, 3));
>> + __THROW __nonnull ((3));
>> # else
>> # ifdef __USE_TIME64_REDIRECTS
>> # ifdef __REDIRECT_NTH
>> extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
>> struct stat *__restrict __buf,
>> int __flag),
>> - __fstatat64_time64) __nonnull ((2, 3));
>> + __fstatat64_time64) __nonnull ((3));
>> # else
>> # define fstatat __fstatat64_time64
>> # endif
>> @@ -279,7 +279,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
>> extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
>> struct stat *__restrict __buf,
>> int __flag),
>> - fstatat64) __nonnull ((2, 3));
>> + fstatat64) __nonnull ((3));
>> # else
>> # define fstatat fstatat64
>> # endif
>> @@ -290,7 +290,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
>> # ifndef __USE_TIME64_REDIRECTS
>> extern int fstatat64 (int __fd, const char *__restrict __file,
>> struct stat64 *__restrict __buf, int __flag)
>> - __THROW __nonnull ((2, 3));
>> + __THROW __nonnull ((3));
>> # else
>> # ifdef __REDIRECT_NTH
>> extern int __REDIRECT_NTH (fstatat64, (int __fd,
>> @@ -298,7 +298,7 @@ extern int __REDIRECT_NTH (fstatat64, (int __fd,
>> struct stat64 *__restrict __buf,
>> int __flag),
>> __fstatat64_time64)
>> - __nonnull ((2, 3));
>> + __nonnull ((3));
>> # else
>> # define fstatat64 __fstatat64_time64
>> # endif
>
> This looks good to me.
>
> Reviewed-by: Florian Weimer <fweimer@redhat.com>
>
> Any objections to pushing this?
Hearing no objections, I've pushed this.
Thanks,
Florian
@@ -62,6 +62,6 @@ __BEGIN_DECLS
/* Fill *BUF with information about PATH in DIRFD. */
int statx (int __dirfd, const char *__restrict __path, int __flags,
unsigned int __mask, struct statx *__restrict __buf)
- __THROW __nonnull ((2, 5));
+ __THROW __nonnull ((5));
__END_DECLS
@@ -263,14 +263,14 @@ extern int __REDIRECT_NTH (fstat64, (int __fd, struct stat64 *__buf),
# ifndef __USE_FILE_OFFSET64
extern int fstatat (int __fd, const char *__restrict __file,
struct stat *__restrict __buf, int __flag)
- __THROW __nonnull ((2, 3));
+ __THROW __nonnull ((3));
# else
# ifdef __USE_TIME64_REDIRECTS
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
struct stat *__restrict __buf,
int __flag),
- __fstatat64_time64) __nonnull ((2, 3));
+ __fstatat64_time64) __nonnull ((3));
# else
# define fstatat __fstatat64_time64
# endif
@@ -279,7 +279,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
struct stat *__restrict __buf,
int __flag),
- fstatat64) __nonnull ((2, 3));
+ fstatat64) __nonnull ((3));
# else
# define fstatat fstatat64
# endif
@@ -290,7 +290,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
# ifndef __USE_TIME64_REDIRECTS
extern int fstatat64 (int __fd, const char *__restrict __file,
struct stat64 *__restrict __buf, int __flag)
- __THROW __nonnull ((2, 3));
+ __THROW __nonnull ((3));
# else
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (fstatat64, (int __fd,
@@ -298,7 +298,7 @@ extern int __REDIRECT_NTH (fstatat64, (int __fd,
struct stat64 *__restrict __buf,
int __flag),
__fstatat64_time64)
- __nonnull ((2, 3));
+ __nonnull ((3));
# else
# define fstatat64 __fstatat64_time64
# endif