cvs commit: src/sys/kern tty.c

John Baldwin jhb at freebsd.org
Mon Sep 11 08:36:15 PDT 2006


On Sunday 10 September 2006 12:51, Martin Blapp wrote:
> mbr         2006-09-10 16:51:56 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             tty.c 
>   Log:
>   Fix locking race in ttymodem(). The locking of the proctree happens too
>   late and opens a small race window before tp->t_session->s_leader is
>   accessed. In case tp->t_session has just been set to NULL elsewhere, we
>   get a panic(). 
>   
>   This fix is a bandaid until someone else fixes the whole locking in the
>   tty subsystem.  Definitly more work needs to be done.
>   
>   MFC after:      1 week
>   Reviewed by:    mlaier
>   PR:             kern/103101

Did you ever try putting a 'mtx_assert(&Giant, MA_OWNED);' in place to see if 
Giant is held there?  Until the tty system is locked, the proper fix is to 
put Giant back on top of it, not abuse the wrong lock.  Abusing the wrong 
lock is only going to narrow the race, not fix it.

-- 
John Baldwin


More information about the cvs-all mailing list