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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250317151728.GC954365@mit.edu>
Date: Mon, 17 Mar 2025 11:17:28 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: Bhupesh <bhupesh@...lia.com>
Cc: linux-ext4@...r.kernel.org, kernel-dev@...lia.com,
        linux-kernel@...r.kernel.org, revest@...gle.com,
        adilger.kernel@...ger.ca, cascardo@...lia.com
Subject: Re: [PATCH v2 2/2] fs/ext4/xattr: Check for 'xattr_sem' inside
 'ext4_xattr_delete_inode'

On Tue, Jan 28, 2025 at 01:57:51PM +0530, Bhupesh wrote:
> Once we are inside the 'ext4_xattr_delete_inode' function and trying
> to delete the inode, the 'xattr_sem' should be unlocked.
> 
> We need trylock here to avoid false-positive warning from lockdep
> about reclaim circular dependency.
> 
> This makes the 'ext4_xattr_delete_inode' implementation mimic the
> existing 'ext2_xattr_delete_inode' implementation and thus avoid
> similar lockdep issues while deleting inodes.
> 
> Signed-off-by: Bhupesh <bhupesh@...lia.com>

This patch is causing a failure of test ext4/026, and also exposed a
bug in e2fsprogs[1].  With the e2fsprogs bug fixed, the file system
corruption which is induced by ext4/026 is (when running e2fsck -fn on
SCRATCH_DEV):

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Regular filesystem inode 14 has EA_INODE flag set. Clear? no

Unattached inode 14
Connect to /lost+found? no

Pass 5: Checking group summary information

/tmp/kvm-xfstests-tytso/vdc.img: ********** WARNING: Filesystem still has errors **********

[1] https://lore.kernel.org/20250317144526.990271-1-tytso@mit.edu

So what appears to be happening is this patch is resulting in ext4/026
failing to clean up a no-longer-used EA inode, which is unfortunate.

Without the e2fsorigs bug fix, ext4/026 will fail but the error
message will be much less edifying:

e2fsck 1.47.2 (1-Jan-2025)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
ext2fs_write_inode: Attempt to write to filesystem opened read-only while writing inode 14 in pass4
e2fsck: aborted

So I'm going to drop this patch (2/2) from the ext4 tree, but I'm
going to keep patch 1/2 from this series, since it is fixing a real
bug.  I presume that without this patch, the syzbot reproducer will
trigger a false lockdep warning, but we can fix that later.

Thanks,

					- Ted

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ