On 2024/10/11 0:26, 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.
I can't catch what you are trying to do. What is wrong with that?
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.
Currently, ino_t is 32bits on 32-bit architectures, isn't it?
Why do you need to use 64bits on 32-bit architectures?
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().
What does the user space's view of an inode number mean?
What does the kernel space's view of an inode number mean?