mips: use __kernel_{uid,gid}32_t in uapi/asm/stat.h
authorMasahiro Yamada <masahiroy@kernel.org>
Wed, 1 Jun 2022 18:19:39 +0000 (03:19 +0900)
committerArnd Bergmann <arnd@arndb.de>
Thu, 2 Jun 2022 15:38:15 +0000 (17:38 +0200)
Commit 8c1a381a4fbb ("mips: add asm/stat.h to UAPI compile-test
coverage") converted as follows:

  uid_t  -->  __kernel_uid_t
  gid_t  -->  __kernel_gid_t

The bit width of __kernel_{uid,gid}_t is 16 or 32-bits depending on
architectures.

MIPS uses 32-bits for them as in include/uapi/asm-generic/posix_types.h,
so the previous conversion is probably fine, but let's stick to the
arch-independent conversion just in case.

The safe replacements across all architectures are:

  uid_t  -->  __kernel_uid32_t
  gid_t  -->  __kernel_gid32_t

as defined in include/linux/types.h.

A similar issue was reported for the android binder. [1]

[1]: https://lore.kernel.org/all/20220601010017.2639048-1-cmllamas@google.com/

Fixes: 8c1a381a4fbb ("mips: add asm/stat.h to UAPI compile-test coverage")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/mips/include/uapi/asm/stat.h

index 8a8bb78..aaccdc6 100644 (file)
@@ -22,8 +22,8 @@ struct stat {
        __kernel_ino_t  st_ino;
        __kernel_mode_t st_mode;
        __u32           st_nlink;
-       __kernel_uid_t  st_uid;
-       __kernel_gid_t  st_gid;
+       __kernel_uid32_t st_uid;
+       __kernel_gid32_t st_gid;
        unsigned        st_rdev;
        long            st_pad2[2];
        long            st_size;
@@ -58,8 +58,8 @@ struct stat64 {
        __kernel_mode_t st_mode;
        __u32           st_nlink;
 
-       __kernel_uid_t  st_uid;
-       __kernel_gid_t  st_gid;
+       __kernel_uid32_t st_uid;
+       __kernel_gid32_t st_gid;
 
        unsigned long   st_rdev;
        unsigned long   st_pad1[3];     /* Reserved for st_rdev expansion  */
@@ -99,8 +99,8 @@ struct stat {
        __kernel_mode_t         st_mode;
        __u32                   st_nlink;
 
-       __kernel_uid_t          st_uid;
-       __kernel_gid_t          st_gid;
+       __kernel_uid32_t        st_uid;
+       __kernel_gid32_t        st_gid;
 
        unsigned int            st_rdev;
        unsigned int            st_pad1[3]; /* Reserved for st_rdev expansion */