This will allow 32 bit userspace to detect when a given inode number has been recycled and also to construct a unique 64 bit identifier. Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> --- fs/pidfs.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fs/pidfs.c b/fs/pidfs.c index ff4f25078f3d983bce630e597adbb12262e5d727..f73a47e1d8379df886a90a044fb887f8d06f7c0b 100644 --- a/fs/pidfs.c +++ b/fs/pidfs.c @@ -262,6 +262,15 @@ static long pidfd_ioctl(struct file *file, unsigned int cmd, unsigned long arg) if (arg) return -EINVAL; + switch (cmd) { + case FS_IOC32_GETVERSION: + fallthrough; + case FS_IOC_GETVERSION: { + __u32 __user *argp = (__u32 __user *)arg; + return put_user(file_inode(file)->i_generation, argp); + } + } + scoped_guard(task_lock, task) { nsp = task->nsproxy; if (nsp) -- 2.45.2