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@gmail.com (earlier version) MFC after: 2 weeks
This commit is contained in:
parent
047e60c94a
commit
c6b3045143
@ -335,8 +335,9 @@ fuse_vnop_create(struct vop_create_args *ap)
|
||||
|
||||
/* 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 *ap)
|
||||
debug_printf("create: got err=%d from daemon\n", err);
|
||||
goto out;
|
||||
}
|
||||
bringup:
|
||||
|
||||
feo = fdip->answ;
|
||||
|
||||
if ((err = fuse_internal_checkentry(feo, VREG))) {
|
||||
|
Loading…
Reference in New Issue
Block a user