Re: [PATCH] xfs_repair: Check if agno is inside the filesystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux