syzbot


INFO: rcu detected stall in security_file_permission

Status: upstream: reported on 2024/04/19 08:27
Reported-by: syzbot+3b1ce9065419d189e6fc@syzkaller.appspotmail.com
First crash: 18d, last: 18d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 INFO: rcu detected stall in security_file_permission 1 30d 30d 0/3 upstream: reported on 2024/04/07 11:45

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	1-...!: (1 GPs behind) idle=5e7/1/0x4000000000000000 softirq=15596/15597 fqs=8 
	(detected by 0, t=10502 jiffies, g=20061, q=146)
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 3507 Comm: syz-fuzzer Not tainted 5.15.156-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:lock_acquire+0x27b/0x4f0 kernel/locking/lockdep.c:5627
Code: 45 4b c7 44 25 00 00 00 00 00 43 c7 44 25 09 00 00 00 00 43 c7 44 25 11 00 00 00 00 66 43 c7 44 25 15 00 00 43 c6 44 25 17 00 <65> 48 8b 04 25 28 00 00 00 48 3b 84 24 00 01 00 00 0f 85 52 02 00
RSP: 0018:ffffc90000dd0b40 EFLAGS: 00000046
RAX: 0000000000000001 RBX: 1ffff920001ba174 RCX: 1ffff920001ba114
RDX: dffffc0000000000 RSI: ffffffff8a8b3c20 RDI: ffffffff8ad8f380
RBP: ffffc90000dd0ca0 R08: dffffc0000000000 R09: fffffbfff1f7ec19
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920001ba170
R13: dffffc0000000000 R14: ffffc90000dd0ba0 R15: 0000000000000046
FS:  000000c000984890(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005555557e1938 CR3: 0000000072dfa000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 rcu_lock_acquire+0x2a/0x30 include/linux/rcupdate.h:312
 rcu_read_lock include/linux/rcupdate.h:739 [inline]
 advance_sched+0x6ce/0x940 net/sched/sch_taprio.c:769
 __run_hrtimer kernel/time/hrtimer.c:1686 [inline]
 __hrtimer_run_queues+0x598/0xcf0 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:rcu_lockdep_current_cpu_online+0xc7/0x130 kernel/rcu/tree.c:1173
Code: 3c 38 00 74 08 48 89 df e8 26 0b 5f 00 4c 8b 23 49 8d 5e 70 48 89 d8 48 c1 e8 03 42 80 3c 38 00 74 08 48 89 df e8 09 0b 5f 00 <4c> 23 23 75 27 49 83 c6 78 4c 89 f0 48 c1 e8 03 42 80 3c 38 00 74
RSP: 0018:ffffc90002527a48 EFLAGS: 00000246
RAX: 1ffffffff1924766 RBX: ffffffff8c923b30 RCX: 0000000080000000
RDX: ffff8880200dd940 RSI: ffffffff8ad8f360 RDI: ffff8880b9b3b1d8
RBP: ffffc90002527c18 R08: ffffffff83cc8813 R09: fffffbfff1f7ec19
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000002
R13: ffff8880230ff7e0 R14: ffffffff8c923ac0 R15: dffffc0000000000
 rcu_read_lock_held_common kernel/rcu/update.c:112 [inline]
 rcu_read_lock_held+0x1a/0x40 kernel/rcu/update.c:309
 aa_file_perm+0x1dc/0xf60 security/apparmor/file.c:612
 common_file_perm+0x173/0x1d0 security/apparmor/lsm.c:475
 security_file_permission+0x65/0xa0 security/security.c:1521
 rw_verify_area fs/read_write.c:389 [inline]
 vfs_read+0x253/0xe10 fs/read_write.c:476
 ksys_read+0x1a2/0x2c0 fs/read_write.c:623
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x40720e
Code: 48 83 ec 38 e8 13 00 00 00 48 83 c4 38 5d c3 cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48
RSP: 002b:000000c0009cf840 EFLAGS: 00000216 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 000000000040720e
RDX: 0000000000001000 RSI: 000000c000975000 RDI: 0000000000000003
RBP: 000000c0009cf880 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000216 R12: 000000c0009cf9c0
R13: 000000000000121e R14: 000000c000225d40 R15: 00000000000000a5
 </TASK>
rcu: rcu_preempt kthread starved for 10486 jiffies! g20061 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:R  running task     stack:26752 pid:   15 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5030 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
 schedule+0x11b/0x1f0 kernel/sched/core.c:6459
 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1914
 rcu_gp_fqs_loop+0x2bf/0x1080 kernel/rcu/tree.c:1972
 rcu_gp_kthread+0xa4/0x360 kernel/rcu/tree.c:2145
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:300
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
NMI backtrace for cpu 0
CPU: 0 PID: 3641 Comm: syz-fuzzer Not tainted 5.15.156-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2d0 lib/dump_stack.c:106
 nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:166 [inline]
 rcu_check_gp_kthread_starvation+0x1d2/0x240 kernel/rcu/tree_stall.h:487
 print_other_cpu_stall+0x137a/0x14d0 kernel/rcu/tree_stall.h:592
 check_cpu_stall kernel/rcu/tree_stall.h:745 [inline]
 rcu_pending kernel/rcu/tree.c:3932 [inline]
 rcu_sched_clock_irq+0xa38/0x1150 kernel/rcu/tree.c:2619
 update_process_times+0x196/0x200 kernel/time/timer.c:1818
 tick_sched_handle kernel/time/tick-sched.c:254 [inline]
 tick_sched_timer+0x386/0x550 kernel/time/tick-sched.c:1473
 __run_hrtimer kernel/time/hrtimer.c:1686 [inline]
 __hrtimer_run_queues+0x55b/0xcf0 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:csd_lock_wait kernel/smp.c:440 [inline]
RIP: 0010:smp_call_function_many_cond+0xa9d/0xd90 kernel/smp.c:969
Code: 45 8b 7d 00 44 89 fe 83 e6 01 31 ff e8 4c cf 0b 00 41 83 e7 01 75 07 e8 e1 cb 0b 00 eb 41 f3 90 48 b8 00 00 00 00 00 fc ff df <0f> b6 04 03 84 c0 75 11 41 f7 45 00 01 00 00 00 74 1e e8 bc cb 0b
RSP: 0000:ffffc90002f57800 EFLAGS: 00000293
RAX: dffffc0000000000 RBX: 1ffff110173680b9 RCX: ffff88807b605940
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc90002f57940 R08: ffffffff817490f4 R09: fffffbfff1f7ec19
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000001
R13: ffff8880b9b405c8 R14: ffff8880b9a3b3c0 R15: 0000000000000001
 on_each_cpu_cond_mask+0x3b/0x80 kernel/smp.c:1135
 __flush_tlb_multi arch/x86/include/asm/paravirt.h:87 [inline]
 flush_tlb_multi arch/x86/mm/tlb.c:900 [inline]
 flush_tlb_mm_range+0x2a5/0x4a0 arch/x86/mm/tlb.c:986
 flush_tlb_page arch/x86/include/asm/tlbflush.h:239 [inline]
 ptep_clear_flush+0x112/0x150 mm/pgtable-generic.c:97
 wp_page_copy+0xdfe/0x2070 mm/memory.c:3085
 handle_pte_fault mm/memory.c:4639 [inline]
 __handle_mm_fault mm/memory.c:4756 [inline]
 handle_mm_fault+0x2a3d/0x5950 mm/memory.c:4854
 do_user_addr_fault arch/x86/mm/fault.c:1388 [inline]
 handle_page_fault arch/x86/mm/fault.c:1476 [inline]
 exc_page_fault+0x271/0x740 arch/x86/mm/fault.c:1532
 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:568
RIP: 0033:0x434c99
Code: 44 24 48 eb 0f 90 90 48 8b 58 08 48 8d 0c cb 90 90 48 8b 01 84 00 81 e2 ff 01 00 00 48 8d 04 d0 48 8d 40 18 90 48 8b 4c 24 70 <48> 87 08 48 83 c4 58 5d c3 48 89 44 24 08 48 89 5c 24 10 e8 4f a5
RSP: 002b:000000c000095878 EFLAGS: 00010246
RAX: 00007fc77fbd0458 RBX: 00007fc77fbcfc40 RCX: 00007fc7861f5ea0
RDX: 0000000000000000 RSI: 000000c0000456f8 RDI: 00007fc77fbd0440
RBP: 000000c0000958d0 R08: 000000000000d440 R09: 0000000000000003
R10: 0000000000000002 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000005 R14: 000000c00049dba0 R15: 0000000000000005
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/19 08:26 linux-5.15.y c52b9710c83d af24b050 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: rcu detected stall in security_file_permission
* Struck through repros no longer work on HEAD.