xfs: check for dinode realtime flag corruption
authorChristoph Hellwig <hch@lst.de>
Mon, 10 Aug 2009 14:32:18 +0000 (11:32 -0300)
committerFelix Blyakher <felixb@sgi.com>
Wed, 12 Aug 2009 06:08:21 +0000 (01:08 -0500)
commitb89d4208de3de442c9025919c4261be0b38e79a4
tree3c47c8d10c3ef50e2423528d0d8db7a738928621
parente0c222c411e22f086e929cd69fdcc89336164ec1
xfs: check for dinode realtime flag corruption

Ramon tested XFS with a modified version of fsfuzzer and hit a NULL
pointer dereference in __xfs_get_blocks due to the RT device target
pointer being NULL.

To fix this reject inode with the realtime bit set on a a filesystem
without an RT subvolume during inode read.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
Reported-by: Ramon de Carvalho Valle <ramon@risesecurity.org>
Tested-by: Ramon de Carvalho Valle <ramon@risesecurity.org>
Signed-off-by: Felix Blyakher <felixb@sgi.com>
fs/xfs/xfs_inode.c