cvs commit: src/sys/kern vfs_mount.c

Tim Robbins tjr at FreeBSD.ORG
Thu Apr 24 02:15:57 PDT 2003


On Thu, Apr 24, 2003 at 01:16:07AM -0700, Tim J. Robbins wrote:

> tjr         2003/04/24 01:16:07 PDT
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/kern             vfs_mount.c 
>   Log:
>   Free mount credentials (mnt_cred) when freeing the mount struct
>   in failure cases to avoid leaking struct ucreds, and ultimately
>   leaking struct uidinfo references.

Here's the full log message, which explains the implications of the uidinfo
refcount leak.

//depot/user/tjr/freebsd-tjr/src/sys/kern/vfs_mount.c
... #3 change 29586 edit on 2003/04/23 by tjr at tjr_dev (text+ko)

        Free mount credentials (mnt_cred) when freeing the mount struct
        in failures cases to avoid leaking struct ucreds, and ultimately
        leaking struct uidinfo references.

        Since the uidinfo reference count was only a "u_short" until a few
        days ago, this leak could quite easily have caused an overflow after
        a few thousand failed mount attempts, leading to the struct uidinfo
        being freed prematurely and the panics in uifree() that Kris was
        seeing on the ports cluster. I'm not sure that this specific cred
        leak was causing the problems -- I will look for more.


Tim


More information about the cvs-src mailing list