Christian Brauner <[email protected]> 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

Reply via email to