• Kees Cook's avatar
    samples/vfs: avoid warning in statx override · c3eeaae9
    Kees Cook authored
    Something changed recently to uncover this warning:
    
      samples/vfs/test-statx.c:24:15: warning: `struct foo' declared inside parameter list will not be visible outside of this definition or declaration
         24 | #define statx foo
            |               ^~~
    
    Which is due the use of "struct statx" (here, "struct foo") in a function
    prototype argument list before it has been defined:
    
     int
     # 56 "/usr/include/x86_64-linux-gnu/bits/statx-generic.h"
        foo
     # 56 "/usr/include/x86_64-linux-gnu/bits/statx-generic.h" 3 4
              (int __dirfd, const char *__restrict __path, int __flags,
                unsigned int __mask, struct
     # 57 "/usr/include/x86_64-linux-gnu/bits/statx-generic.h"
                                           foo
     # 57 "/usr/include/x86_64-linux-gnu/bits/statx-generic.h" 3 4
                                                 *__restrict __buf)
       __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 5)));
    
    Add explicit struct before #include to avoid warning.
    
    Fixes: f1b5618e ("vfs: Add a sample program for the new mount API")
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Cc: Miklos Szeredi <mszeredi@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: David Howells <dhowells@redhat.com>
    Link: http://lkml.kernel.org/r/202006282213.C516EA6@keescookSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c3eeaae9
test-statx.c 6.52 KB