[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230201043019.592994-1-whzhao@gmail.com>
Date: Tue, 31 Jan 2023 20:30:19 -0800
From: Wenhua Zhao <whzhao@...il.com>
To: unlisted-recipients:; (no To-header on input)
Cc: Wenhua Zhao <whzhao@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] net/socket: set socket inode times to current_time
Socket creation time are sometimes useful but not available becasue the
socket inode times are not set when initializing the inode. This patch
sets the socket inode times to current_time().
Before the fix, the socket inode times are at epoch, for example:
$ stat -L /proc/383/fd/3
File: /proc/383/fd/3
Size: 0 Blocks: 0 IO Block: 4096 socket
Device: 0,8 Inode: 15996 Links: 1
Access: (0777/srwxrwxrwx) Uid: ( 1000/ arch) Gid: ( 1000/ arch)
Access: 1970-01-01 00:00:00.000000000 +0000
Modify: 1970-01-01 00:00:00.000000000 +0000
Change: 1970-01-01 00:00:00.000000000 +0000
After the fix, the inode times are the socket creation time:
$ stat -L /proc/254/fd/3
File: /proc/254/fd/3
Size: 0 Blocks: 0 IO Block: 4096 socket
Device: 0,7 Inode: 13170 Links: 1
Access: (0777/srwxrwxrwx) Uid: ( 1000/ arch) Gid: ( 1000/ arch)
Access: 2023-02-01 03:27:50.094731201 +0000
Modify: 2023-02-01 03:27:50.094731201 +0000
Change: 2023-02-01 03:27:50.094731201 +0000
Signed-off-by: Wenhua Zhao <whzhao@...il.com>
---
net/socket.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/net/socket.c b/net/socket.c
index 888cd618a968..c656c9599a92 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -635,6 +635,7 @@ struct socket *sock_alloc(void)
inode->i_uid = current_fsuid();
inode->i_gid = current_fsgid();
inode->i_op = &sockfs_inode_ops;
+ inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
return sock;
}
--
2.39.1
Powered by blists - more mailing lists