Re: [PATCH] selftests/mount_setattr: Remove redefinition of struct mount_attr

From: Christian Brauner
Date: Tue Jan 03 2023 - 05:28:48 EST


On Sun, Dec 11, 2022 at 02:58:20PM +0530, Siddh Raman Pant wrote:
> It is already included via sys/mount.h on line 10.
>
> GCC error reproducible by: make kselftest TARGETS="mount_setattr"
>
> mount_setattr_test.c:107:8: error: redefinition of ‘struct mount_attr’
> 107 | struct mount_attr {
> | ^~~~~~~~~~
> In file included from /usr/include/x86_64-linux-gnu/sys/mount.h:32,
> from mount_setattr_test.c:10:
> ../../../../usr/include/linux/mount.h:129:8: note: originally defined here
> 129 | struct mount_attr {
> | ^~~~~~~~~~
>
> Signed-off-by: Siddh Raman Pant <code@xxxxxxxx>
> ---
> tools/testing/selftests/mount_setattr/mount_setattr_test.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/tools/testing/selftests/mount_setattr/mount_setattr_test.c b/tools/testing/selftests/mount_setattr/mount_setattr_test.c
> index 8c5fea68ae67..582669ca38e9 100644
> --- a/tools/testing/selftests/mount_setattr/mount_setattr_test.c
> +++ b/tools/testing/selftests/mount_setattr/mount_setattr_test.c
> @@ -103,13 +103,6 @@
> #else
> #define __NR_mount_setattr 442
> #endif
> -
> -struct mount_attr {
> - __u64 attr_set;
> - __u64 attr_clr;
> - __u64 propagation;
> - __u64 userns_fd;
> -};
> #endif

Honestly, until the conflicts between linux/mount.h and sys/mount.h are
fixed properly we should probably just not include either linux/mount.h
nor sys/mount.h and just define all the things we need in this single
test file.