flush_inodedep_deps: fix access after free. PR/29724.

This commit is contained in:
yamt 2007-05-07 11:13:01 +00:00
parent 04ae3cd1d0
commit d4bb61958b

View File

@ -1,4 +1,4 @@
/* $NetBSD: ffs_softdep.c,v 1.89 2007/04/08 11:20:50 hannken Exp $ */
/* $NetBSD: ffs_softdep.c,v 1.90 2007/05/07 11:13:01 yamt Exp $ */
/*
* Copyright 1998 Marshall Kirk McKusick. All Rights Reserved.
@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ffs_softdep.c,v 1.89 2007/04/08 11:20:50 hannken Exp $");
__KERNEL_RCSID(0, "$NetBSD: ffs_softdep.c,v 1.90 2007/05/07 11:13:01 yamt Exp $");
#include <sys/param.h>
#include <sys/buf.h>
@ -5159,6 +5159,9 @@ flush_inodedep_deps(fs, ino)
if (error) {
return error;
}
if (inodedep_lookup(fs, ino, 0, &inodedep) == 0) {
return (0);
}
} else {
/*
* The inode has been reclaimed. Be sure no