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: <CAOQ4uxh-HCE+Fwat8SyAGF3fcFg-xa_tH9jsxCe8=qPfx73K0g@mail.gmail.com>
Date:   Fri, 25 Aug 2023 10:15:45 +0300
From:   Amir Goldstein <amir73il@...il.com>
To:     "Theodore Ts'o" <tytso@....edu>, Jan Kara <jack@...e.cz>
Cc:     linux-ext4@...r.kernel.org
Subject: Re: [PATCH 0/11] ext4: Cleanup read-only and fs aborted checks

On Thu, Aug 3, 2023 at 6:23 PM Theodore Ts'o <tytso@....edu> wrote:
>
>
> On Fri, 16 Jun 2023 18:50:46 +0200, Jan Kara wrote:
> > This series arised from me trying to fix races when the ext4 filesystem gets
> > remounted read-write and users can race in writes before quota subsystem is
> > prepared to take them. This particular problem got fixed in VFS in the end
> > but the cleanups are still good in my opinion so I'm submitting them. They
> > get rid of EXT4_MF_ABORTED flag and cleanup some sb_rdonly() checks.
> >
> > Honza
> >
> > [...]
>
> Applied, thanks!
>
> [01/11] ext4: Remove pointless sb_rdonly() checks from freezing code
>         commit: 98175720c9ed3bac857b0364321517cc2d695a3f
> [02/11] ext4: Use sb_rdonly() helper for checking read-only flag
>         commit: d5d020b3294b69eaf3b8985e7a37ba237849c390
> [03/11] ext4: Make ext4_forced_shutdown() take struct super_block
>         commit: eb8ab4443aec5ffe923a471b337568a8158cd32b
> [04/11] ext4: Make 'abort' mount option handling standard
>         commit: 22b8d707b07e6e06f50fe1d9ca8756e1f894eb0d
> [05/11] ext4: Drop EXT4_MF_FS_ABORTED flag
>         commit: 95257987a6387f02970eda707e55a06cce734e18
> [06/11] ext4: Avoid starting transaction on read-only fs in ext4_quota_off()
>         commit: e0e985f3f8941438a66ab8abb94cb011b9fb39a7
> [07/11] ext4: Warn on read-only filesystem in ext4_journal_check_start()
>         commit: e7fc2b31e04c46c9e2098bba710c9951c6b968af
> [08/11] ext4: Drop read-only check in ext4_init_inode_table()
>         commit: ffb6844e28ef6b9d76bee378774d7afbc3db6da9
> [09/11] ext4: Drop read-only check in ext4_write_inode()
>         commit: f1128084b40e520bea8bb32b3ff4d03745ab7e64
> [10/11] ext4: Drop read-only check from ext4_force_commit()
>         commit: 889860e452d7436ca72018b8a03cbd89c38d6384
> [11/11] ext4: Replace read-only check for shutdown check in mmp code
>         commit: 1e1566b9c85fbd6150657ea17f50fd42b9166d31
>
> Best regards,
> --
> Theodore Ts'o <tytso@....edu>

Hi Jan,

Yesterday I ran fanotify LTP tests on linux-next and noticed a regression
with fanotify22 which tests the FAN_FS_ERROR event on ext4.
It's 100% reproducible on my machine (see below).

I've bisected the regression down to this series.
Not sure if this is an acute regression or just the test needs to be adjusted.

Thanks,
Amir.

# ./fanotify/fanotify22
tst_device.c:96: TINFO: Found free device 0 '/dev/loop0'
[   29.672163] loop0: detected capacity change from 0 to 614400
tst_test.c:1093: TINFO: Formatting /dev/loop0 with ext4 opts='' extra opts=''
mke2fs 1.46.5 (30-Dec-2021)
[   30.169795] operation not supported error, dev loop0, sector 614272
op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 2
[   30.172411] operation not supported error, dev loop0, sector 586 op
0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 2
[   30.176215] operation not supported error, dev loop0, sector 15792
op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 2
[   30.189827] operation not supported error, dev loop0, sector 278530
op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 2
[   30.247427] EXT4-fs (loop0): mounted filesystem
a2b5d123-2a7a-44cc-96d4-47119b66a9a9 r/w with ordered data mode. Quota
mode: none.
tst_test.c:1558: TINFO: Timeout per run is 0h 00m 30s
fanotify.h:129: TINFO: fid(test_mnt/internal_dir/bad_dir) =
32966134.65ed1cb1.7e82.a4cd38.0...
[   30.275088] EXT4-fs (loop0): unmounting filesystem
a2b5d123-2a7a-44cc-96d4-47119b66a9a9.
debugfs 1.46.5 (30-Dec-2021)
[   30.339363] EXT4-fs (loop0): mounted filesystem
a2b5d123-2a7a-44cc-96d4-47119b66a9a9 r/w with ordered data mode. Quota
mode: none.
fanotify.h:129: TINFO: fid(test_mnt) = 32966134.65ed1cb1.2.0.0...
[   30.346145] EXT4-fs error (device loop0): __ext4_remount:6465: comm
fanotify22: Abort forced by user
[   30.348788] Aborting journal on device loop0-8.
[   30.350608] EXT4-fs (loop0): Remounting filesystem read-only
[   30.352403] EXT4-fs (loop0): re-mounted
a2b5d123-2a7a-44cc-96d4-47119b66a9a9 ro. Quota mode: none.
fanotify22.c:232: TPASS: Successfully received: Trigger abort
Test timeouted, sending SIGKILL!
tst_test.c:1612: TINFO: If you are running on slow machine, try
exporting LTP_TIMEOUT_MUL > 1
tst_test.c:1614: TBROK: Test killed! (timeout?)

Powered by blists - more mailing lists