Re: [v3][PATCH 5/5] Merge code for single and multiple-instancemounts



Eric Paris [eparis@xxxxxxxxxx] wrote:
| On Thu, 2009-05-07 at 14:24 -0700, Sukadev Bhattiprolu wrote:
| > Eric Paris [eparis@xxxxxxxxxxxxxx] wrote:
| > | On Sat, Mar 7, 2009 at 2:12 PM, Sukadev Bhattiprolu
| > | <sukadev@xxxxxxxxxxxxxxxxxx> wrote:
| > | >
| > | > From: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
| > | > Subject: [v3][PATCH 5/5] Merge code for single and multiple-instance mounts
| > |
| > | I just tried to load the linux-next kernel on F11 and ran into a
| > | problem. X started, I could log in, I could start programs like
| > | firefox and evolution, but not gnome-terminal. It would just flash
| > | and disappear. Running xterm resulted in a window, that I could type
| > | in, but it wasn't a shell. It didn't do anything.
| > |
| > | I switched to vt2 set the display to my X session and tried to run
| > | xterm. It said something about a permission being denied, so I
| > | decided to strace it. I saw EACCESS returning from calls dealing with
| > | /dev/pts/0. This lead me to git bisect start fs/devpts from the
| > | latest in linux-next as bad and 2.6.29 as good. Couple interations
| > | later and I find that this commit (1bd7903560f1f7) breaks
| > | gnome-terminal xterm!
| >
| > Interesting :-) -EACCESS makes me suspect that maybe 'mode' 'uid' or 'gid'
| > mount options are wrong. Of course we would still need to understand if/
| > why this patch changes the settings.
| >
| > Can you paste the output of following commands: (both in success and failure
| > cases).
| >
| > $ grep devpts /proc/mounts
|
| Success: devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
| Failure: devpts /dev/pts devpts rw,seclabel,relatime,mode=000,ptmxmode=000 0 0
|
| > $ ls -al /dev/pts
| Success:
| [root@dhcp231-142 ~]# ls -al /dev/pts
| total 0
| drwxr-xr-x. 2 root root 0 2009-05-07 16:04 .
| drwxr-xr-x. 20 root root 5300 2009-05-07 18:13 ..
| crw--w----. 1 paris paris 136, 0 2009-05-07 18:17 0
| crw--w----. 1 paris paris 136, 1 2009-05-07 16:07 1
| crw--w----. 1 paris paris 136, 2 2009-05-07 18:13 2
| crw--w----. 1 paris paris 136, 3 2009-05-07 18:17 3
| c---------. 1 root root 5, 2 2009-05-07 16:04 ptmx
|
| Failure:
| [root@dhcp231-142 ~]# ls -al /dev/pts
| total 0
| drwxr-xr-x. 2 root root 0 2009-05-07 18:22 .
| drwxr-xr-x. 20 root root 5460 2009-05-07 18:28 ..
| c---------. 1 root root 5, 2 2009-05-07 18:22 ptmx
|
| > $ stat /dev/ptmx
|
|
| Failure:
| File: `/dev/ptmx'
| Size: 0 Blocks: 0 IO Block: 4096 character special file
| Device: eh/14d Inode: 704 Links: 1 Device type: 5,2
| Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 5/ tty)
| Access: 2009-05-07 18:23:20.695621624 -0400
| Modify: 2009-05-07 18:22:25.460004885 -0400
| Change: 2009-05-07 18:22:31.911129737 -0400
|
| >
| > Also, is CONFIG_DEVPTS_MULTIPLE_INSTANCES set in your .config ?
|
| CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
|
| > With this patch, does gnome-terminal run when logged in as root ?
|
| gnome-terminal did not, but xterm did appear in my window as root. I
| assumed it was just some gnomism to not let me launch a root
| gnome-terminal inside the user owned X session.
|
|
| I unmounted /dev/pts and remounted it with mode=600 and it works now!
|
| So something about this patch caused it to change from being mounted 600
| to 000.....

Must be the

memset(&opts, 0, sizeof(opts));

in devpts_get_sb() (first statement). It should probably set the options to
default values for cases where 'data' is NULL.

For now, can you try replacing the memset with:

opts->mode = DEVPTS_DEFAULT_MODE;
opts->ptmxmode = DEVPTS_DEFAULT_PTMX_MODE;

Sukadev
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • [PATCH] provide crucial explanations for the dreaded "No init found." boot failure.
    ... Patch against 2.6.32-rc6 attached, UNTESTED. ... +Some high-level reasons for failure ... +A) Unable to mount root FS ... +(after all loading the init binary is a CRITICAL and hard transition step ...
    (Linux-Kernel)
  • Re: xscreensaver exploit for Redhat 7.3
    ... There is one major caveat to it though, the setuid application you call ... has to call XtAppInitialize as root. ... The "xterm" example in the ... The "dga" setuid on SuSE 8.0 gives root in a default install, ...
    (Vuln-Dev)
  • Re: AMD Athlon64 cooln quiet - questions
    ... * Become root in one of them (you need to be root to read the current ... of seconds in the root xterm. ... more than 1 GHz of Athlon 64 power, so the system keeps clock speed down ... to 1 GHz. ...
    (Fedora)
  • "Cannot allocate colormap entry"
    ... [root@localhost root]# XFree86 -version ... # xterm -version ... # emacs -version ... emacs*pointerColor: Orchid ...
    (comp.os.linux.x)
  • Re: PATH problems
    ... Because they execute different setup scripts in the two cases. ... not unless you make your xterms a login shell! ... you all about the startup scripts that it executes. ... Then I refuse to talk to you until you STOP RUNNING AS ROOT. ...
    (comp.os.linux.misc)