All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] xfs: handle inode extent count mismatch
@ 2018-06-19  2:41 Dave Chinner
  2018-06-19  2:41 ` [PATCH 1/2] xfs: transactionless xfs_bunmapi shouldn't do format conversion Dave Chinner
  2018-06-19  2:41 ` [PATCH 2/2] xfs: More robust inode extent count validation Dave Chinner
  0 siblings, 2 replies; 16+ messages in thread
From: Dave Chinner @ 2018-06-19  2:41 UTC (permalink / raw)
  To: linux-xfs

Hi folks,

Wen Xu provided an image that caused a crash allocating an extent.
The AGFL was corrupt, as was the inode data fork extent count. The
combination of the two corruptions could lead to a delalloc extent
being allocated on write, and then when allocation fails because the
AGFL was corrupt, it would try to punch out the delalloc extent
which would then try to convert the format of the extent list in the
inode data fork without a transaction. This would crash.

The following two patches address this - the first makes
xfs_bunmapi() return EFSCORRUPTED if it tries to change the inode
fork format without a transaction context and avoids the crash. THe
second makes the inode verifier detect this specific inode fork
corruption and prevents any attempt to access it with EFSCORRUPTED.

Comments?

Cheers,

Dave.


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2018-06-21 23:23 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-19  2:41 [PATCH 0/2] xfs: handle inode extent count mismatch Dave Chinner
2018-06-19  2:41 ` [PATCH 1/2] xfs: transactionless xfs_bunmapi shouldn't do format conversion Dave Chinner
2018-06-19  4:54   ` Darrick J. Wong
2018-06-19  5:27     ` Dave Chinner
2018-06-19  6:06       ` Darrick J. Wong
2018-06-19 23:33         ` Dave Chinner
2018-06-21 16:42           ` Darrick J. Wong
2018-06-20  7:31     ` Christoph Hellwig
2018-06-21 22:34       ` Dave Chinner
2018-06-21 22:55         ` Darrick J. Wong
2018-06-21 23:23           ` Dave Chinner
2018-06-19  2:41 ` [PATCH 2/2] xfs: More robust inode extent count validation Dave Chinner
2018-06-19  4:57   ` Darrick J. Wong
2018-06-19  5:29     ` Dave Chinner
2018-06-19  6:07       ` Darrick J. Wong
2018-06-20  7:34   ` Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.