Re: [RFC PATCH v1 1/7] fs: Add inode_get_ino() and implement get_ino() for NFS
From: Christoph Hellwig <hch@infradead.org>
Date: 2024-10-11 12:30:13
Also in:
linux-fsdevel, linux-nfs
From: Christoph Hellwig <hch@infradead.org>
Date: 2024-10-11 12:30:13
Also in:
linux-fsdevel, linux-nfs
On Thu, Oct 10, 2024 at 05:26:41PM +0200, Mickaël Salaün wrote:
When a filesystem manages its own inode numbers, like NFS's fileid shown to user space with getattr(), other part of the kernel may still expose the private inode->ino through kernel logs and audit. Another issue is on 32-bit architectures, on which ino_t is 32 bits, whereas the user space's view of an inode number can still be 64 bits. Add a new inode_get_ino() helper calling the new struct inode_operations' get_ino() when set, to get the user space's view of an inode number. inode_get_ino() is called by generic_fillattr(). Implement get_ino() for NFS.
The proper interface for that is ->getattr, and you should use that for all file systems (through the proper vfs wrappers). And yes, it's really time to move to a 64-bit i_ino, but that's a separate discussion.