Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 May 2003 00:20:26 -0700
From:      Kris Kennaway <kris@obsecurity.org>
To:        "Tim J. Robbins" <tjr@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/ufs/ffs ffs_vfsops.c
Message-ID:  <20030501072026.GA87518@rot13.obsecurity.org>
In-Reply-To: <200305010642.h416g0sr018829@repoman.freebsd.org>
References:  <200305010642.h416g0sr018829@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Wed, Apr 30, 2003 at 11:42:00PM -0700, Tim J. Robbins wrote:
> tjr         2003/04/30 23:42:00 PDT
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/ufs/ffs          ffs_vfsops.c 
>   Log:
>   Do not attempt to free NULL dinodes (i_din1 or i_din2) in ffs_ifree().
>   These fields can be left as NULL if ffs_vget() allocates an inode but
>   fails before the dinode memory has been allocated. There are two cases
>   when this can occur: when we lose a race and another process has added
>   the inode to the hash, and when reading the inode off disk fails.
>   
>   The bug was observed by Kris on one of the package-building machines.
>   See http://marc.theaimsgroup.com/?l=freebsd-current&m=105172731013411&w=2
>   In Kris's case, it was the bread() that failed because of a disk error.
>   
>   The alternative to this patch is to ensure that ffs_vget() does not call
>   vput() when the inode that hasn't been properly initialised.

Thanks!

Kris

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE+sMq6Wry0BWjoQKURAi3UAJ4szrRlT0NlcpCXkyaM0x2cCSl9xACeNPC0
OxHhibHylfWUH1d0D8pjjf0=
=hrAX
-----END PGP SIGNATURE-----

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