Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Apr 2003 19:15:57 +1000
From:      Tim Robbins <tjr@FreeBSD.ORG>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern vfs_mount.c
Message-ID:  <20030424191557.A63073@dilbert.robbins.dropbear.id.au>
In-Reply-To: <200304240816.h3O8G7U9072127@repoman.freebsd.org>; from tjr@FreeBSD.org on Thu, Apr 24, 2003 at 01:16:07AM -0700
References:  <200304240816.h3O8G7U9072127@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030424191557.A63073>