[systemd-devel] [PATCH 1/3] logind: session: don't set /dev/ttyX owner to root on restore_vt

Lennart Poettering lennart at poettering.net
Mon Aug 11 07:54:28 PDT 2014

On Mon, 11.08.14 16:39, Olivier Brunel (jjk at jjacky.com) wrote:

> On 08/11/14 16:25, Lennart Poettering wrote:
> > On Fri, 08.08.14 20:45, Olivier Brunel (jjk at jjacky.com) wrote:
> > 
> >> In session_prepare_vt() we set owner of /dev/ttyX to the user, as that is
> >> needed for things to work. However, we shouldn't "reset" it to root on
> >> session_restore_vt() since it could have in fact already been set to
> >> the user.
> > 
> > I don't follow here, can't parse this. Could you please elaborate? 
> I meant, before the call to session_prepare_vt() the owner of /dev/ttyX
> might not be root, but already set to the user. In which case setting it
> "back" to root might not be expected/best.

But that sounds more as if session_restore_vt() should not be used as-is
as cleanup path for session_prepare_vt(), no?

> E.g. if a log in on tty3 right now, /dev/tty3 will be owned by my user,
> then if a process try a TakeControl() and it failed (or after it's done)
> the ownership would be set to root, even though it wasn't actually root
> to begin with.

Isn't this very theoretic? I mean, when does TakeControl() actually
really fail for you IRL?


Lennart Poettering, Red Hat

More information about the systemd-devel mailing list