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]
Message-ID: <6787202e.050a0220.20d369.0002.GAE@google.com>
Date: Tue, 14 Jan 2025 18:40:46 -0800
From: syzbot <syzbot+96ee12698391289383dd@...kaller.appspotmail.com>
To: linux-kernel@...r.kernel.org
Subject: Re: [syzbot] Re: [syzbot] [ocfs2?] [ext4?] WARNING in jbd2_journal_update_sb_log_tail

For archival purposes, forwarding an incoming command email to
linux-kernel@...r.kernel.org.

***

Subject: Re: [syzbot] [ocfs2?] [ext4?] WARNING in jbd2_journal_update_sb_log_tail
Author: heming.zhao@...e.com

On 1/15/25 09:26, syzbot wrote:
> Hello,
> 
> syzbot has tested the proposed patch but the reproducer is still triggering an issue:
> WARNING in jbd2_journal_update_sb_log_tail
> 
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 6052 at fs/jbd2/journal.c:1882 jbd2_journal_update_sb_log_tail+0x2ba/0x360 fs/jbd2/journal.c:1882
> Modules linked in:
> CPU: 0 UID: 0 PID: 6052 Comm: jbd2/loop0-29 Not tainted 6.13.0-rc7-syzkaller-00041-g7f5b6a8ec18e-dirty #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
> RIP: 0010:jbd2_journal_update_sb_log_tail+0x2ba/0x360 fs/jbd2/journal.c:1882
> Code: 30 ff 41 80 3c 2c 00 74 08 4c 89 ff e8 df 48 94 ff 41 80 27 f7 4c 89 f7 e8 83 10 4a 09 31 ed e9 72 fe ff ff e8 57 6a 30 ff 90 <0f> 0b 90 41 80 3c 2c 00 75 d5 eb db 44 89 f1 80 e1 07 80 c1 03 38
> RSP: 0018:ffffc900037577f0 EFLAGS: 00010293
> RAX: ffffffff826f07c9 RBX: 0000000000000000 RCX: ffff88801c7c0000
> RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> RBP: dffffc0000000000 R08: ffffffff826f0799 R09: fffff520006eaeec
> R10: dffffc0000000000 R11: fffff520006eaeec R12: 1ffff110060f7000
> R13: ffff88802b13001c R14: ffff8880307b80b0 R15: ffff8880307b8000
> FS:  0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000555563a325c8 CR3: 0000000031c10000 CR4: 00000000003526f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
>   <TASK>
>   jbd2_journal_commit_transaction+0x46a/0x6560 fs/jbd2/commit.c:397
>   kjournald2+0x41c/0x7b0 fs/jbd2/journal.c:201
>   kthread+0x2f0/0x390 kernel/kthread.c:389
>   ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
>   ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
>   </TASK>
> 
> 
> Tested on:
> 
> commit:         7f5b6a8e Merge tag 'pci-v6.13-fixes-3' of git://git.ke..
> git tree:       upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=169e07c4580000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=954e5731cdb4e750
> dashboard link: https://syzkaller.appspot.com/bug?extid=96ee12698391289383dd
> compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
> patch:          https://syzkaller.appspot.com/x/patch.diff?x=155681f8580000
> 


Revert commit "a09decff5c32 jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal"

This commit seems like the classic whack-a-mole.
Fixed an issue and introduced another issue.

#syz test

diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index 7e49d912b091..f8c7917efad2 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2092,11 +2092,6 @@ int jbd2_journal_load(journal_t *journal)
                 journal->j_devname);
          return -EFSCORRUPTED;
      }
-    /*
-     * clear JBD2_ABORT flag initialized in journal_init_common
-     * here to update log tail information with the newest seq.
-     */
-    journal->j_flags &= ~JBD2_ABORT;
  
      /* OK, we've finished with the dynamic journal bits:
       * reinitialise the dynamic contents of the superblock in memory
@@ -2107,6 +2102,7 @@ int jbd2_journal_load(journal_t *journal)
          return err;
      }
  
+    journal->j_flags &= ~JBD2_ABORT;
      journal->j_flags |= JBD2_LOADED;
      return 0;
  }

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ