The branch main has been updated by dchagin:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=e0bfe0d62ca708c8c6173296cc05f6bbfb79b2ee

commit e0bfe0d62ca708c8c6173296cc05f6bbfb79b2ee
Author:     Dmitry Chagin <dcha...@freebsd.org>
AuthorDate: 2023-04-28 08:55:01 +0000
Commit:     Dmitry Chagin <dcha...@freebsd.org>
CommitDate: 2023-04-28 08:55:01 +0000

    linux(4): Make struct newstat to match actual Linux one
    
    In the struct stat the st_dev, st_rdev are unsigned long.
---
 sys/amd64/linux/linux.h   | 6 +++---
 sys/amd64/linux32/linux.h | 6 ++----
 sys/arm64/linux/linux.h   | 4 ++--
 sys/i386/linux/linux.h    | 6 ++----
 4 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h
index 11cc9f05c6f5..4aa45ad8ca96 100644
--- a/sys/amd64/linux/linux.h
+++ b/sys/amd64/linux/linux.h
@@ -134,14 +134,14 @@ struct l_timespec {
 };
 
 struct l_newstat {
-       l_dev_t         st_dev;
+       l_ulong         st_dev;
        l_ino_t         st_ino;
        l_ulong         st_nlink;
        l_uint          st_mode;
        l_uid_t         st_uid;
        l_gid_t         st_gid;
-       l_uint          __st_pad1;
-       l_dev_t         st_rdev;
+       l_uint          __st_pad0;
+       l_ulong         st_rdev;
        l_off_t         st_size;
        l_long          st_blksize;
        l_long          st_blocks;
diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h
index 80311ebb988e..f26ff5c216d2 100644
--- a/sys/amd64/linux32/linux.h
+++ b/sys/amd64/linux32/linux.h
@@ -180,15 +180,13 @@ struct l_timespec64 {
 };
 
 struct l_newstat {
-       l_ushort        st_dev;
-       l_ushort        __pad1;
+       l_ulong         st_dev;
        l_ulong         st_ino;
        l_ushort        st_mode;
        l_ushort        st_nlink;
        l_ushort        st_uid;
        l_ushort        st_gid;
-       l_ushort        st_rdev;
-       l_ushort        __pad2;
+       l_ulong         st_rdev;
        l_ulong         st_size;
        l_ulong         st_blksize;
        l_ulong         st_blocks;
diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h
index 1b6852286662..f3c55ac0fd6b 100644
--- a/sys/arm64/linux/linux.h
+++ b/sys/arm64/linux/linux.h
@@ -128,7 +128,7 @@ struct l_timespec {
 #define        LINUX_O_LARGEFILE       000400000
 
 struct l_newstat {
-       l_dev_t         st_dev;
+       l_ulong         st_dev;
        l_ino_t         st_ino;
        l_uint          st_mode;
        l_uint          st_nlink;
@@ -136,7 +136,7 @@ struct l_newstat {
        l_uid_t         st_uid;
        l_gid_t         st_gid;
 
-       l_dev_t         st_rdev;
+       l_ulong         st_rdev;
        l_ulong         __st_pad1;
        l_off_t         st_size;
        l_int           st_blksize;
diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h
index dd99b4a6d721..db4b2990b92d 100644
--- a/sys/i386/linux/linux.h
+++ b/sys/i386/linux/linux.h
@@ -153,15 +153,13 @@ struct l_timespec64 {
 };
 
 struct l_newstat {
-       l_ushort        st_dev;
-       l_ushort        __pad1;
+       l_ulong         st_dev;
        l_ulong         st_ino;
        l_ushort        st_mode;
        l_ushort        st_nlink;
        l_ushort        st_uid;
        l_ushort        st_gid;
-       l_ushort        st_rdev;
-       l_ushort        __pad2;
+       l_ulong         st_rdev;
        l_ulong         st_size;
        l_ulong         st_blksize;
        l_ulong         st_blocks;

Reply via email to