Re: Userland problems from kern.pts.enable=1

From: Kris Kennaway <kris_at_obsecurity.org>
Date: Mon, 18 Jun 2007 16:45:35 -0400
On Mon, Jun 18, 2007 at 10:20:48AM -0700, Steve Kargl wrote:
> On Mon, Jun 18, 2007 at 01:05:20PM -0400, Kris Kennaway wrote:
> > On Mon, Jun 18, 2007 at 01:50:46PM +0100, Tom Evans wrote:
> > > On Sun, 2007-06-17 at 17:39 -0400, Kris Kennaway wrote:
> > > > When the kern.pts.enable sysctl is set to '1', pseudo-ttys are created
> > > > with device name /dev/pts/${NUMBER}.  With some kernel fixes from kib
> > > > this appears to now be stable and the kernel side is ready for a
> > > > possible change of default.  However, the new device naming confuses
> > > > some userland utilities.  For example:
> > > > 
> > > > pointyhat# write simon
> > > > write: /dev/398: No such file or directory
> > > > 
> > > > simon was logged in on /dev/pts/398.
> > > > 
> > > > killall -t also fails to parse the new device format:
> > > > 
> > > > bento# ps -t pts/187
> > > >   PID  TT  STAT      TIME COMMAND
> > > > 67734 187  Ss     0:00.04 /bin/csh
> > > > 72599 187  R+     0:00.00 ps -t pts/187
> > > > bento# killall -t pts/187
> > > > killall: stat(/dev/ttypts/187): No such file or directory
> > > > 
> > > > It would also be useful if ps -t recognized a numeric argument as
> > > > magic and converted it to add the pts/.  It already appears to do the
> > > > converse when displaying the TTY, as you can see above.
> > > > 
> > > > There are probably other utilities also affected.
> > > > 
> > > > Kris
> > > > 
> > > 
> > > If no-one has already started working on these, I've had a look at a few
> > > of these utils and the changes look quite straightforward. I've been
> > > looking for something like this (simple enough for me to do, simple
> > > enough that a I can't ??$%^ it up too much) so I can contribute back to
> > > FreeBSD. 
> > > 
> > > So far, I'm looking at usr.bin/killall, bin/ps and usr.bin/write
> > 
> > Good news!  Thanks for your help.  It would be worthwhile also
> > auditing for other utilities that manipulate TTYs, for example others
> > I can think of off the top of my head are pgrep, watch, etc.
> > 
> 
> Do the fixes from kib actually permit the use of pts?
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/92742

Solves all of my deadlocks/panics.  Try it and let us know.

Kris

Received on Mon Jun 18 2007 - 18:45:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:12 UTC