Thread (1 message) 1 message, 1 author, 2016-06-08

[Bug 118671] mkfifo(3) & mknod(2) and EPERM

From: <hidden>
Date: 2016-06-08 15:06:37

https://bugzilla.kernel.org/show_bug.cgi?id=118671
--- Comment #2 from Nadav Har'El <nyh-TS7m/3hpY0sOpacJJkBjfT4kX+cae0hd@public.gmane.org> ---
I don't know why it worked for you and not for me, but I did paste the exact
error message ("operation not permitted") I got from mkfifo ;-)

Looking at the Linux source code, fs/cifs/dir.c, the cifs_mknod function, I see
the lines causing this EPERM::

        int rc = -EPERM;
        ...
        if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL))
                goto mknod_out;
        ...
        mknod_out:
        ...
        return rc;

So it appears that if this "CIFS_MOUNT_UNX_EMUL" flag is not turned on, indeed
an EPERM is being returned. I'm not sure who is supposed to turn on this flag
(does it come from the server? is it a mount-time flag?), but I guess it can be
off, and mknod() would result in EPERM.

I'm not sure why the CIFS guys decided to return EPERM in this case (and not
something else, like ENOSYS), but perhaps this decision has precedent in other
drivers as well. I didn't check.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help