syzbot


WARNING in diUnmount

Status: upstream: reported C repro on 2023/04/16 15:03
Bug presence: origin:upstream
Labels: missing-backport
[Documentation on labels]
Reported-by: syzbot+cfff8c52c283dd09bf27@syzkaller.appspotmail.com
First crash: 604d, last: 495d
Fix bisection: failed (error log, bisect log)
  
Discussions (1)
Title Replies (including bot) Last reply
[PATCH] jfs: fix invalid free of JFS_IP(ipimap)->i_imap in diUnmount 6 (6) 2023/07/18 19:46
Bug presence (3)
Date Name Commit Repro Result
2023/09/17 linux-6.1.y (ToT) 09045dae0d90 C [report] KASAN: invalid-free in diUnmount
2023/06/18 upstream (ToT) 1b29d271614a C [report] KASAN: invalid-free in diUnmount
2023/09/17 upstream (ToT) f0b0d403eabb C Didn't crash
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream WARNING in diUnmount jfs C error 100 452d 745d 23/28 fixed on 2023/10/12 12:47
Fix bisection attempts (3)
Created Duration User Patch Repo Result
2023/11/19 05:20 1h47m fix candidate upstream OK (0) job log
2023/10/01 05:59 10m bisect fix linux-6.1.y error job log
2023/08/02 14:37 7h37m bisect fix linux-6.1.y OK (0) job log log

Sample crash report:
 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581
jfs_mount_rw: diMount failed!
------------[ cut here ]------------
WARNING: CPU: 0 PID: 4218 at mm/slab_common.c:923 free_large_kmalloc+0x34/0x15c mm/slab_common.c:924
Modules linked in:
CPU: 0 PID: 4218 Comm: syz-executor778 Not tainted 6.1.34-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/25/2023
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : free_large_kmalloc+0x34/0x15c mm/slab_common.c:924
lr : kfree+0x10c/0x1b8 mm/slab_common.c:1001
sp : ffff80001dbe7880
x29: ffff80001dbe7880 x28: ffff0000c0b77200 x27: dfff800000000000
x26: 1fffe0001816ee45 x25: 0000000000000002 x24: ffff0000c0b77220
x23: ffff0000d6c4a930 x22: dfff800000000000 x21: ffff80000880c87c
x20: ffff0000d8540000 x19: fffffc0003615000 x18: ffff80001dbe7540
x17: ffff8000155bd000 x16: ffff8000121062b4 x15: ffff8000081c0440
x14: 1ffff00002ab80b0 x13: ffff700003b7cedc x12: 000000000000000f
x11: ff80800008098054 x10: 0000000000000000 x9 : 0000000003615000
x8 : ffff800017ed6000 x7 : 0000000000000000 x6 : 000000000000003f
x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000030
x2 : 0000000000000008 x1 : ffff0000d8540000 x0 : fffffc0003615000
Call trace:
 free_large_kmalloc+0x34/0x15c mm/slab_common.c:924
 kfree+0x10c/0x1b8 mm/slab_common.c:1001
 diUnmount+0xf4/0x10c fs/jfs/jfs_imap.c:195
 jfs_umount+0x110/0x338 fs/jfs/jfs_umount.c:63
 jfs_put_super+0x90/0x188 fs/jfs/super.c:194
 generic_shutdown_super+0x130/0x328 fs/super.c:501
 kill_block_super+0x70/0xdc fs/super.c:1450
 deactivate_locked_super+0xac/0x124 fs/super.c:332
 deactivate_super+0xf0/0x110 fs/super.c:363
 cleanup_mnt+0x394/0x41c fs/namespace.c:1186
 __cleanup_mnt+0x20/0x30 fs/namespace.c:1193
 task_work_run+0x240/0x2f0 kernel/task_work.c:179
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x554/0x1a88 kernel/exit.c:869
 do_group_exit+0x194/0x22c kernel/exit.c:1019
 __do_sys_exit_group kernel/exit.c:1030 [inline]
 __se_sys_exit_group kernel/exit.c:1028 [inline]
 __wake_up_parent+0x0/0x60 kernel/exit.c:1028
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206
 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581
irq event stamp: 93196
hardirqs last  enabled at (93195): [<ffff80000839a804>] call_rcu+0x614/0xa40 kernel/rcu/tree.c:2834
hardirqs last disabled at (93196): [<ffff800012101f6c>] el1_dbg+0x24/0x80 arch/arm64/kernel/entry-common.c:405
softirqs last  enabled at (92086): [<ffff800008020d74>] softirq_handle_end kernel/softirq.c:414 [inline]
softirqs last  enabled at (92086): [<ffff800008020d74>] __do_softirq+0xc14/0xea0 kernel/softirq.c:600
softirqs last disabled at (92013): [<ffff80000802a994>] ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:79
---[ end trace 0000000000000000 ]---
object pointer: 0x00000000028b1b81
==================================================================
BUG: KASAN: double-free in kfree+0x10c/0x1b8 mm/slab_common.c:1001
Free of addr ffff0000d8540000 by task syz-executor778/4218

CPU: 0 PID: 4218 Comm: syz-executor778 Tainted: G        W          6.1.34-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/25/2023
Call trace:
 dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:284 [inline]
 print_report+0x174/0x4c0 mm/kasan/report.c:395
 kasan_report_invalid_free+0xc4/0x114 mm/kasan/report.c:460
 __kasan_kfree_large+0xa4/0xc0 mm/kasan/common.c:272
 kasan_kfree_large include/linux/kasan.h:185 [inline]
 free_large_kmalloc+0x70/0x15c mm/slab_common.c:927
 kfree+0x10c/0x1b8 mm/slab_common.c:1001
 diUnmount+0xf4/0x10c fs/jfs/jfs_imap.c:195
 jfs_umount+0x110/0x338 fs/jfs/jfs_umount.c:63
 jfs_put_super+0x90/0x188 fs/jfs/super.c:194
 generic_shutdown_super+0x130/0x328 fs/super.c:501
 kill_block_super+0x70/0xdc fs/super.c:1450
 deactivate_locked_super+0xac/0x124 fs/super.c:332
 deactivate_super+0xf0/0x110 fs/super.c:363
 cleanup_mnt+0x394/0x41c fs/namespace.c:1186
 __cleanup_mnt+0x20/0x30 fs/namespace.c:1193
 task_work_run+0x240/0x2f0 kernel/task_work.c:179
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x554/0x1a88 kernel/exit.c:869
 do_group_exit+0x194/0x22c kernel/exit.c:1019
 __do_sys_exit_group kernel/exit.c:1030 [inline]
 __se_sys_exit_group kernel/exit.c:1028 [inline]
 __wake_up_parent+0x0/0x60 kernel/exit.c:1028
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206
 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581

The buggy address belongs to the physical page:
page:000000009b8cb9f3 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x118540
flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000000 fffffc0003612408 ffff0001b45c82a0 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff0000d853ff00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff0000d853ff80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff0000d8540000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                   ^
 ffff0000d8540080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff0000d8540100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
page:000000009b8cb9f3 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x118540
head:000000009b8cb9f3 order:3 compound_mapcount:0 compound_pincount:0
flags: 0x5ffc00000010200(slab|head|node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000010200 0000000000000000 dead000000000122 ffff0000c0002900
raw: 0000000000000000 0000000080080008 00000001ffffffff 0000000000000000
page dumped because: VM_BUG_ON_FOLIO(folio_test_slab(folio))
------------[ cut here ]------------
kernel BUG at include/linux/memcontrol.h:379!
Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4218 Comm: syz-executor778 Tainted: G    B   W          6.1.34-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/25/2023
pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __folio_memcg include/linux/memcontrol.h:379 [inline]
pc : folio_memcg+0x148/0x174 include/linux/memcontrol.h:432
lr : __folio_memcg include/linux/memcontrol.h:379 [inline]
lr : folio_memcg+0x148/0x174 include/linux/memcontrol.h:432
sp : ffff80001dbe77f0
x29: ffff80001dbe77f0 x28: ffff0000c0b77200 x27: dfff800000000000
x26: 1fffe0001816ee45 x25: 0000000000000002 x24: dfff800000000000
x23: 1fffff80006c2a01 x22: dfff800000000000 x21: 0000000000000000
x20: fffffc0003615008 x19: fffffc0003615000 x18: 1fffe000368b5f76
x17: 0000000000000000 x16: ffff8000121062b4 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000001 x12: 0000000000000001
x11: ff80800008830644 x10: 0000000000000000 x9 : ffff800008830644
x8 : ffff0000c6303780 x7 : 0000000000000001 x6 : 0000000000000001
x5 : ffff80001dbe7078 x4 : ffff8000156a2a40 x3 : ffff8000085879f4
x2 : 0000000000000001 x1 : 0000000100000000 x0 : 000000000000003c
Call trace:
 __folio_memcg include/linux/memcontrol.h:379 [inline]
 folio_memcg+0x148/0x174 include/linux/memcontrol.h:432
 page_memcg include/linux/memcontrol.h:437 [inline]
 __mod_lruvec_page_state+0x110/0x2ec mm/memcontrol.c:833
 mod_lruvec_page_state include/linux/vmstat.h:562 [inline]
 free_large_kmalloc+0xa8/0x15c mm/slab_common.c:930
 kfree+0x10c/0x1b8 mm/slab_common.c:1001
 diUnmount+0xf4/0x10c fs/jfs/jfs_imap.c:195
 jfs_umount+0x110/0x338 fs/jfs/jfs_umount.c:63
 jfs_put_super+0x90/0x188 fs/jfs/super.c:194
 generic_shutdown_super+0x130/0x328 fs/super.c:501
 kill_block_super+0x70/0xdc fs/super.c:1450
 deactivate_locked_super+0xac/0x124 fs/super.c:332
 deactivate_super+0xf0/0x110 fs/super.c:363
 cleanup_mnt+0x394/0x41c fs/namespace.c:1186
 __cleanup_mnt+0x20/0x30 fs/namespace.c:1193
 task_work_run+0x240/0x2f0 kernel/task_work.c:179
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x554/0x1a88 kernel/exit.c:869
 do_group_exit+0x194/0x22c kernel/exit.c:1019
 __do_sys_exit_group kernel/exit.c:1030 [inline]
 __se_sys_exit_group kernel/exit.c:1028 [inline]
 __wake_up_parent+0x0/0x60 kernel/exit.c:1028
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206
 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581
Code: d004ca41 91320021 aa1303e0 97f9c811 (d4210000) 
---[ end trace 0000000000000000 ]---

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/18 11:07 linux-6.1.y ca87e77a2ef8 f3921d4d .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 WARNING in diUnmount
2023/06/18 10:49 linux-6.1.y ca87e77a2ef8 f3921d4d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING in diUnmount
2023/04/16 15:03 linux-6.1.y 0102425ac76b ec410564 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 WARNING in diUnmount
* Struck through repros no longer work on HEAD.