On Tue, 28 Jun 2011, Dave Chinner wrote: > On Mon, Jun 27, 2011 at 06:53:30PM +0200, Lukas Czerner wrote: > > When getting an inode tree pointer from an array inode_tree_ptrs, we > > should check if agno, which is used as a pointer to the array, lives > > within the file system, because if it is not, we can end up touching > > uninitialized memory. > > How do you get an agno outside the bounds of the filesystem? Hi Dave, in my particular case the problem was in longform_dir2_entry_check_data(). xfs_dir2_data_entry_t was read and we used inode numbed (xfs_dir2_data_entry_t)->inumber to compute AG number. However it contained garbage so the resulting agno was too high. In modify mode it was not a problem, because the inode was cleared in the earlies phase, but in no_modify mode, the was still there. > > > This commit fixes it by passing xfs_mount_t to affected functions and > > checking if agno really is inside the file system. > > We're slowly removing typedefs as we change code. So probably better > to use struct xfs_mount for all the places where you add an > xfs_mount_t. Will do. Thanks! -Lukas > > Otherwise seems fine. > > Cheers, > > Dave. > -- _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs