svn commit: r301164 - stable/10/sys/fs/fuse

Rick Macklem rmacklem at FreeBSD.org
Wed Jun 1 20:30:32 UTC 2016


Author: rmacklem
Date: Wed Jun  1 20:30:31 2016
New Revision: 301164
URL: https://svnweb.freebsd.org/changeset/base/301164

Log:
  MFC: r300169
  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.

Modified:
  stable/10/sys/fs/fuse/fuse_vnops.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/fs/fuse/fuse_vnops.c
==============================================================================
--- stable/10/sys/fs/fuse/fuse_vnops.c	Wed Jun  1 20:06:55 2016	(r301163)
+++ stable/10/sys/fs/fuse/fuse_vnops.c	Wed Jun  1 20:30:31 2016	(r301164)
@@ -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-all mailing list