diff mbox series

selftests/mount_setattr: Remove redefinition of struct mount_attr

Message ID 20221211092820.85527-1-code@siddh.me (mailing list archive)
State Accepted
Commit d8e45bf1aed2e5fddd8985b5bb1aaf774a97aba8
Headers show
Series selftests/mount_setattr: Remove redefinition of struct mount_attr | expand

Commit Message

Siddh Raman Pant Dec. 11, 2022, 9:28 a.m. UTC
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@siddh.me>
---
 tools/testing/selftests/mount_setattr/mount_setattr_test.c | 7 -------
 1 file changed, 7 deletions(-)

Comments

Siddh Raman Pant Jan. 1, 2023, 4:43 p.m. UTC | #1
On Sun, 11 Dec 2022 14:58:20 +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@siddh.me>
> ---
>  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
 > 
>  #ifndef __NR_open_tree
> -- 
> 2.35.1

Hi,

Please review the above patch, which can be found on the link below:
https://lore.kernel.org/all/20221211092820.85527-1-code@siddh.me

This was encountered before the patch adding missing <sys/syscall.h>
was applied, which just means that I went into the code path under
#ifndef __NR_mount_setattr, and encountered the error.

Thanks,
Siddh
Christian Brauner Jan. 3, 2023, 10:27 a.m. UTC | #2
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@siddh.me>
> ---
>  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.
diff mbox series

Patch

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
 
 #ifndef __NR_open_tree