Re: [PATCH] net/9p: validate fds in p9_fd_open

From: Christoph Hellwig
Date: Mon Jul 13 2020 - 03:38:11 EST


On Sat, Jul 11, 2020 at 12:49:23PM +0200, Dominique Martinet wrote:
> > >diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
> > >index 13cd683a658ab6..1cd8ea0e493617 100644
> > >--- a/net/9p/trans_fd.c
> > >+++ b/net/9p/trans_fd.c
> > >@@ -803,20 +803,28 @@ static int p9_fd_open(struct p9_client *client, int rfd, int wfd)
> > > return -ENOMEM;
> > > ts->rd = fget(rfd);
> > >+ if (!ts->rd)
> > >+ goto out_free_ts;
> > >+ if (!(ts->rd->f_mode & FMODE_READ))
> > >+ goto out_put_wr;
> >
> > goto out_put_rd;
> >
> > unless I'm mistaken.
>
> Good catch, I've amended the commit so feel free to skip resending
> unless want to change something
> https://github.com/martinetd/linux/commit/28e987a0dc66744fb119e18150188fd8e3debd40

Thanks, this looks good to me.