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: [email protected] (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))) {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to