[Virtio-fs] [PATCH] virtiofsd: fix lo_do_lookup panic

Liu Bo bo.liu at linux.alibaba.com
Thu Jun 6 16:52:11 UTC 2019


On Thu, Jun 06, 2019 at 10:54:29AM +0100, Dr. David Alan Gilbert wrote:
> * Peng Tao (tao.peng at linux.alibaba.com) wrote:
> > It needs to check for invalid parent dir.
> > 
> > Signed-off-by: Peng Tao <tao.peng at linux.alibaba.com>
> 
> This is the same as Liu Bo's patch from 23rd May; but there
> was some discussion about what to do about open_by_handle_at.
> Did we ever get an answer to that?

No answer yet, here we haven't got a usecase which is uing exportfs.

The discussion was related but not rejecting the patch, it's about
whether we should disable exportfs if we cannot support it well.

Peng's patch returns EBADF while mine was returning ENOENT, I'm OK
with either errno, up to you :-)

thanks,
-liubo
> 
> Dave
> 
> > ---
> >  contrib/virtiofsd/passthrough_ll.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/contrib/virtiofsd/passthrough_ll.c b/contrib/virtiofsd/passthrough_ll.c
> > index 8a3adc9..f544387 100644
> > --- a/contrib/virtiofsd/passthrough_ll.c
> > +++ b/contrib/virtiofsd/passthrough_ll.c
> > @@ -640,6 +640,9 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
> >  	struct lo_data *lo = lo_data(req);
> >  	struct lo_inode *inode, *dir = lo_inode(req, parent);
> >  
> > +	if (dir == NULL)
> > +		return EBADF;
> > +
> >  	memset(e, 0, sizeof(*e));
> >  	e->attr_timeout = lo->timeout;
> >  	e->entry_timeout = lo->timeout;
> > -- 
> > 1.8.3.1
> > 
> --
> Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK




More information about the Virtio-fs mailing list