lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 24 May 2019 00:37:45 -0400
From:   "Theodore Ts'o" <tytso@....edu>
To:     Peter Geis <pgwipeout@...il.com>
Cc:     linux-ext4@...r.kernel.org
Subject: Re: Ext4 corruption on linux-next since 5.2 merge window

On Wed, May 22, 2019 at 07:40:26PM -0400, Peter Geis wrote:
> Good Evening,
> 
> Since the 5.2 merge window, I've been encountering EXT4 corruption
> periodically.

Yeah, sorry.  The fix is in the ext4.git tree, on the dev branch.
I'll be pushing it to Linus shortly.

It's actually not an actual file system corruption, but rather a false
positive, when there is sufficient memory pressure to push the extent
status tree entries for the journal out of the cache.

The fix is:

commit 0a944e8a6c66ca04c7afbaa17e22bf208a8b37f0
Author: Theodore Ts'o <tytso@....edu>
Date:   Wed May 22 10:27:01 2019 -0400

    ext4: don't perform block validity checks on the journal inode
    
    Since the journal inode is already checked when we added it to the
    block validity's system zone, if we check it again, we'll just trigger
    a failure.
    
    This was causing failures like this:
    
    [   53.897001] EXT4-fs error (device sda): ext4_find_extent:909: inode
    #8: comm jbd2/sda-8: pblk 121667583 bad header/extent: invalid extent entries - magic f30a, entries 
8, max 340(340), depth 0(0)
    [   53.931430] jbd2_journal_bmap: journal block not found at offset 49 on sda-8
    [   53.938480] Aborting journal on device sda-8.
    
    ... but only if the system was under enough memory pressure that
    logical->physical mapping for the journal inode gets pushed out of the
    extent cache.  (This is why it wasn't noticed earlier.)
    
    Fixes: 345c0dbf3a30 ("ext4: protect journal inode's blocks using block_validity")
    Reported-by: Dan Rue <dan.rue@...aro.org>
    Signed-off-by: Theodore Ts'o <tytso@....edu>
    Tested-by: Naresh Kamboju <naresh.kamboju@...aro.org>

						- Ted

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ