svn commit: r300169 - head/sys/fs/fuse

Rick Macklem rmacklem at FreeBSD.org
Wed May 18 22:23:21 UTC 2016


Author: rmacklem
Date: Wed May 18 22:23:20 2016
New Revision: 300169
URL: https://svnweb.freebsd.org/changeset/base/300169

Log:
  If a local (AF_LOCAL, AF_UNIX) socket creation (bind) is attempted
  on a fuse mounted file system, it will crash. Although it may be
  possible to make this work correctly, this patch avoids the crash
  in the meantime.
  I removed the MPASS(), since panicing for the FIFO case didn't make
  a lot of sense when it returns an error for the others.
  
  PR:		195000
  Submitted by:	henry.hu.sh at gmail.com (earlier version)
  MFC after:	2 weeks

Modified:
  head/sys/fs/fuse/fuse_vnops.c

Modified: head/sys/fs/fuse/fuse_vnops.c
==============================================================================
--- head/sys/fs/fuse/fuse_vnops.c	Wed May 18 22:05:50 2016	(r300168)
+++ head/sys/fs/fuse/fuse_vnops.c	Wed May 18 22:23:20 2016	(r300169)
@@ -335,8 +335,9 @@ fuse_vnop_create(struct vop_create_args 
 
 	/* XXX:	Will we ever want devices ? */
 	if ((vap->va_type != VREG)) {
-		MPASS(vap->va_type != VFIFO);
-		goto bringup;
+		printf("fuse_vnop_create: unsupported va_type %d\n",
+		    vap->va_type);
+		return (EINVAL);
 	}
 	debug_printf("parent nid = %ju, mode = %x\n", (uintmax_t)parentnid,
 	    mode);
@@ -364,7 +365,7 @@ fuse_vnop_create(struct vop_create_args 
 		debug_printf("create: got err=%d from daemon\n", err);
 		goto out;
 	}
-bringup:
+
 	feo = fdip->answ;
 
 	if ((err = fuse_internal_checkentry(feo, VREG))) {


More information about the svn-src-head mailing list