On 08/11/14 16:54, Lennart Poettering wrote: > On Mon, 11.08.14 16:39, Olivier Brunel ([email protected]) wrote: > >> >> On 08/11/14 16:25, Lennart Poettering wrote: >>> On Fri, 08.08.14 20:45, Olivier Brunel ([email protected]) 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?
Right, this was noticed when trying to start a second rootless X, since with systemd-215 things currently fail, and the ownership of /dev/ttyX would then be switched/changed to root. session_prepare_vt() could also check the owner first, and note what to reset to on session_restore_vt(), to effectively restore things as they were. > > Lennart > _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
