Christian Brauner <christian@xxxxxxxxxx> wrote: > > static int vfs_fsinfo_fd(unsigned int fd, struct fsinfo_kparams *params) > > { > > struct fd f = fdget_raw(fd); > > You're using fdget_raw() which means you want to allow O_PATH fds but > below you're checking whether the f_ops correspond to > fscontext_fops. If it's an O_PATH It can't be. The only way to get an fs_context fd is from fsopen() or fspick() - neither of which allow O_PATH to be specified. If you tried to go through /proc/pid/fd with open(O_PATH), I think you'd get the symlink, not the target. David