Message ID | 20190719193032.11096-1-mcgrof@kernel.org (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | xfs: don't trip over uninitialized buffer on extent read of corrupted inode | expand |
On Fri, Jul 19, 2019 at 07:30:32PM +0000, Luis Chamberlain wrote: > From: Brian Foster <bfoster@redhat.com> > [mcgrof: fixes kz#204223 ] Sorry, spoke too soon, although it helps... it actually still does not fix that exact issue. Fixing this will require a bit more work. You can ignore this patch for stable for now. Luis
On Fri, Jul 19, 2019 at 07:30:32PM +0000, Luis Chamberlain wrote:
> [mcgrof: fixes kz#204223 ]
This patch can be ingored for now for stable. It does not actually
fix the issue, just delays it a bit. Once I stress test over 1000
runs with some other fixes I have I'll send a new set of stable
fixes.
Luis
On Fri, Jul 19, 2019 at 11:07:29PM +0000, Luis Chamberlain wrote: > On Fri, Jul 19, 2019 at 07:30:32PM +0000, Luis Chamberlain wrote: > > [mcgrof: fixes kz#204223 ] > > This patch can be ingored for now for stable. It does not actually > fix the issue, just delays it a bit. Once I stress test over 1000 > runs with some other fixes I have I'll send a new set of stable > fixes. generic/388 is one of the tests we expect to uncover interesting failures over time. i.e. every time we fix a problem in these tests, it will expose another issue that we haven't been able to exercise until easier-to-hit failures have been fixed. The best you can do right now is minimise the occurence of failures by backporting fixes - this test (like generic/475) will continue to uncover new shutdown and recovery issues as they are exposed by new fixes. Expecting it to pass 1000 times without failure on an older stable kernel is, IMO, a somewhat unrealistic expectation... Cheers, Dave.
On Fri, Jul 19, 2019 at 09:23:00PM +0000, Luis Chamberlain wrote: >On Fri, Jul 19, 2019 at 07:30:32PM +0000, Luis Chamberlain wrote: >> From: Brian Foster <bfoster@redhat.com> >> [mcgrof: fixes kz#204223 ] > >Sorry, spoke too soon, although it helps... it actually still does not >fix that exact issue. Fixing this will require a bit more work. You can >ignore this patch for stable for now. What about the other 9 patch series? -- Thanks, Sasha
diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 3a496ffe6551..ab2465bc413a 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -1178,7 +1178,10 @@ xfs_iread_extents( * Root level must use BMAP_BROOT_PTR_ADDR macro to get ptr out. */ level = be16_to_cpu(block->bb_level); - ASSERT(level > 0); + if (unlikely(level == 0)) { + XFS_ERROR_REPORT(__func__, XFS_ERRLEVEL_LOW, mp); + return -EFSCORRUPTED; + } pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); bno = be64_to_cpu(*pp);