Re: Linux ABI and permissions to /dev

From: Ralf S. Engelschall <rse_at_engelschall.com>
Date: Sat, 16 Oct 2004 19:09:46 +0200
On Sat, Oct 16, 2004, Arne Schwabe wrote:

> "Ralf S. Engelschall" <rse_at_engelschall.com> writes:
>
> > Under latest RELENG_5 I'm experiencing since recently (about 2-4 weeks I
> > think) "permission denied" errors under the Linux ABI on write-access to
> > e.g. /dev/null or other devices under /dev:
> >
> > | $ id
> > | uid=10000(rse) gid=10000(rse) groups=10000(rse),5(operator),2001(en)
> > | $ ls -l /dev/null
> > | crw-rw-rw-  1 root  wheel    2,   2 Oct 15 21:39 /dev/null
> > | $ echo foo >/dev/null
> > | $ ls -l /compat/linux/bin/dev/null
> > | ls: /compat/linux/bin/dev/null: No such file or directory
> > | $ /compat/linux/bin/bash
> > | bash   bash2
> > | $ /compat/linux/bin/bash
> > | $ ls -l /dev/null
> > | crw-rw-rw-    1 root     wheel      2,   2 Oct 15 21:40 /dev/null
> > | $ echo foo >/dev/null
> > | bash: /dev/null: Permission denied
> > | $
> >
> > Has anybody an idea where to search? There were no changes to devfs
> > recently and the recent changes to the Linuxulator seemed harmless to me
> > at the first glance...
>
> is there a /usr/compat/linux/dev directory? If there is try to remove
> it, so that it does not shadow the /dev/ direcotry

Yes, I have a /compat/linux/dev directory:

| # ls -l /compat/linux/dev/
| total 0
| brw-r--r--  1 root  wheel    0, 0x00010002 Sep 17 22:05 had
| brw-r--r--  1 root  wheel    0, 0x0001000a Sep 17 22:05 hdb
| lrwxr-xr-x  1 root  wheel        22 Sep 17 22:05 tty0 -> /compat/linux/dev/tty1
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty1 -> /dev/ttyv0
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty10 -> /dev/ttyv9
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty11 -> /dev/ttyva
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty12 -> /dev/ttyvb
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty2 -> /dev/ttyv1
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty3 -> /dev/ttyv2
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty4 -> /dev/ttyv3
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty5 -> /dev/ttyv4
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty6 -> /dev/ttyv5
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty7 -> /dev/ttyv6
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty8 -> /dev/ttyv7
| lrwxr-xr-x  1 root  wheel        10 Sep 17 22:05 tty9 -> /dev/ttyv8

And yes, your guess is right: once I remove it, the problem with
my "echo foo >/dev/null" or running "acroread" wents away. But the
/compat/linux/dev stuff is created by the "vmware3" port with its...

| _at_exec mkdir -p %%LINUXBASE%%/dev;for n in 0 1 2 3 4 5 6 7 8 9; do ln -s /dev/ttyv$n %%LINUXBASE%%/dev/tty$n;done
| _at_exec ln -s /dev/ttyva %%LINUXBASE%%/dev/tty10
| _at_exec ln -s /dev/ttyvb %%LINUXBASE%%/dev/tty11
| _at_exec mknod %%LINUXBASE%%/dev/had b 0 0x00010002
| _at_exec mknod %%LINUXBASE%%/dev/hdb b 0 0x0001000a

...and unfortunately without at least the /compat/linux/dev/ttyv0 VMWare
ultimately fails on startup. So, for running VMWare one really needs
this directory.

Additionally, the overlaying of /dev with /compat/linux/dev as the
"vmware3" port does, definetely _worked_ until about 2 weeks ago. So,
the question is what broke it?

                                       Ralf S. Engelschall
                                       rse_at_engelschall.com
                                       www.engelschall.com
Received on Sat Oct 16 2004 - 15:15:56 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:17 UTC