diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2017-05-16 02:16:15 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-06-07 10:07:52 (GMT) |
commit | 7fb8ab8f0a38adb97cf2cf0738628959db5d840d (patch) | |
tree | c575a1b13f32bb21646e4cea16d215e943ff2eb7 /fs/xfs/xfs_iomap.c | |
parent | e40c145c023db15a0504e95ac442f0e47c0a816d (diff) | |
download | linux-7fb8ab8f0a38adb97cf2cf0738628959db5d840d.tar.xz |
xfs: avoid mount-time deadlock in CoW extent recovery
commit 3ecb3ac7b950ff8f6c6a61e8b7b0d6e3546429a0 upstream.
If a malicious user corrupts the refcount btree to cause a cycle between
different levels of the tree, the next mount attempt will deadlock in
the CoW recovery routine while grabbing buffer locks. We can use the
ability to re-grab a buffer that was previous locked to a transaction to
avoid deadlocks, so do that here.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/xfs/xfs_iomap.c')
0 files changed, 0 insertions, 0 deletions