syzbot


general protection fault in flex_array_get

Status: upstream: reported C repro on 2019/05/03 11:55
Reported-by: syzbot+051a735288befdffa28c@syzkaller.appspotmail.com
First crash: 2059d, last: 706d
Fix bisection: failed (error log, bisect log)
  
Fix bisection attempts (22)
Created Duration User Patch Repo Result
2021/10/31 08:54 14m bisect fix linux-4.19.y error job log
2021/10/01 02:08 28m bisect fix linux-4.19.y OK (0) job log log
2021/08/15 23:57 28m bisect fix linux-4.19.y OK (0) job log log
2021/06/23 05:25 21m bisect fix linux-4.19.y OK (0) job log log
2021/05/24 04:53 31m bisect fix linux-4.19.y OK (0) job log log
2021/03/25 14:59 22m bisect fix linux-4.19.y OK (0) job log log
2021/02/23 13:11 22m bisect fix linux-4.19.y OK (0) job log log
2021/02/19 08:19 19m bisect fix linux-4.19.y error job log
2021/01/20 03:16 24m bisect fix linux-4.19.y OK (0) job log log
2020/12/21 02:51 24m bisect fix linux-4.19.y OK (0) job log log
2020/11/12 22:19 24m bisect fix linux-4.19.y OK (0) job log log
2020/10/13 21:52 26m bisect fix linux-4.19.y OK (0) job log log
2020/09/13 21:29 22m bisect fix linux-4.19.y OK (0) job log log
2020/08/13 20:08 27m bisect fix linux-4.19.y OK (0) job log log
2020/07/14 19:24 26m bisect fix linux-4.19.y OK (0) job log log
2020/05/31 12:34 25m bisect fix linux-4.19.y OK (0) job log log
2020/05/01 11:10 27m bisect fix linux-4.19.y OK (0) job log log
2020/04/01 10:13 25m bisect fix linux-4.19.y OK (0) job log log
2020/03/02 07:33 26m bisect fix linux-4.19.y OK (0) job log log
2020/01/28 17:00 26m bisect fix linux-4.19.y OK (0) job log log
2019/12/29 16:35 24m bisect fix linux-4.19.y OK (0) job log log
2019/11/29 16:10 24m bisect fix linux-4.19.y OK (0) job log log

Sample crash report:
RBP: 0000000000000000 R08: 0000000000000000 R09: 000000000000001c
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fef8d2033f0
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 8335 Comm: syz-executor193 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
Mem-Info:
RIP: 0010:flex_array_get+0x27/0x250 lib/flex_array.c:320
Code: 90 90 90 41 56 41 55 41 54 55 89 f5 53 48 89 fb 48 83 ec 08 e8 1a a0 ee fd 48 89 da 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e b7 01 00 00 44 8b 2b 31 ff 44
RSP: 0018:ffff8880ba007370 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff87770a90
RDX: 0000000000000000 RSI: ffffffff8373e556 RDI: 0000000000000000
active_anon:7847 inactive_anon:4717 isolated_anon:0
 active_file:5312 inactive_file:12280 isolated_file:0
 unevictable:0 dirty:11 writeback:0 unstable:0
 slab_reclaimable:16415 slab_unreclaimable:117101
 mapped:4310 shmem:4898 pagetables:400 bounce:0
 free:1521050 free_pcp:673 free_cma:0
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888096d12de8
R13: 0000000000000000 R14: ffff8880958d1080 R15: 1ffff11012da25c1
FS:  00005555567d7300(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Node 0 active_anon:31388kB inactive_anon:18868kB active_file:21124kB inactive_file:49120kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:17240kB dirty:40kB writeback:0kB shmem:19592kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 8192kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
CR2: 00007fef8d203e48 CR3: 00000000b4dd2000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
Node 1 active_anon:0kB inactive_anon:0kB active_file:124kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:0kB dirty:4kB writeback:0kB shmem:0kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
 sctp_stream_out include/net/sctp/structs.h:1474 [inline]
 sctp_sched_dequeue_done+0x1f8/0x2e0 net/sctp/stream_sched.c:255
 __sctp_outq_teardown+0x6cc/0xc20 net/sctp/outqueue.c:268
 sctp_association_free+0x212/0x7b0 net/sctp/associola.c:361
 sctp_cmd_delete_tcb net/sctp/sm_sideeffect.c:944 [inline]
 sctp_cmd_interpreter net/sctp/sm_sideeffect.c:1332 [inline]
 sctp_side_effects net/sctp/sm_sideeffect.c:1199 [inline]
 sctp_do_sm+0x39ee/0x5110 net/sctp/sm_sideeffect.c:1170
FAULT_INJECTION: forcing a failure.
name fail_page_alloc, interval 1, probability 0, space 0, times 0
CPU: 1 PID: 8341 Comm: syz-executor193 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1fc/0x2ef lib/dump_stack.c:118
 fail_dump lib/fault-inject.c:51 [inline]
 should_fail.cold+0xa/0xf lib/fault-inject.c:149
 should_fail_alloc_page mm/page_alloc.c:3088 [inline]
 prepare_alloc_pages mm/page_alloc.c:4346 [inline]
 __alloc_pages_nodemask+0x239/0x2890 mm/page_alloc.c:4393
 sctp_assoc_bh_rcv+0x345/0x650 net/sctp/associola.c:1073
 sctp_inq_push+0x1da/0x270 net/sctp/inqueue.c:95
 sctp_rcv+0x1642/0x3300 net/sctp/input.c:268
 sctp6_rcv+0x12/0x30 net/sctp/ipv6.c:1072
 ip6_input_finish+0x46a/0x17a0 net/ipv6/ip6_input.c:385
 NF_HOOK include/linux/netfilter.h:289 [inline]
 ip6_input+0xcf/0x3c0 net/ipv6/ip6_input.c:428
 alloc_pages_current+0x193/0x2a0 mm/mempolicy.c:2197
 dst_input include/net/dst.h:461 [inline]
 ip6_rcv_finish+0x1d9/0x2f0 net/ipv6/ip6_input.c:76
 NF_HOOK include/linux/netfilter.h:289 [inline]
 ipv6_rcv+0xf2/0x3f0 net/ipv6/ip6_input.c:273
 alloc_pages include/linux/gfp.h:532 [inline]
 __get_free_pages+0x8/0x40 mm/page_alloc.c:4443
 tlb_next_batch mm/memory.c:216 [inline]
 __tlb_remove_page_size+0x2a2/0x470 mm/memory.c:318
 __tlb_remove_page include/asm-generic/tlb.h:161 [inline]
 zap_pte_range mm/memory.c:1353 [inline]
 zap_pmd_range mm/memory.c:1463 [inline]
 zap_pud_range mm/memory.c:1492 [inline]
 zap_p4d_range mm/memory.c:1513 [inline]
 unmap_page_range+0x14e7/0x2c50 mm/memory.c:1534
 __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:4954
 unmap_single_vma+0x198/0x300 mm/memory.c:1579
 unmap_vmas+0xa9/0x180 mm/memory.c:1609
 __netif_receive_skb+0x27/0x1c0 net/core/dev.c:5066
 exit_mmap+0x2b9/0x530 mm/mmap.c:3093
 process_backlog+0x241/0x700 net/core/dev.c:5849
 napi_poll net/core/dev.c:6280 [inline]
 net_rx_action+0x4ac/0xfb0 net/core/dev.c:6346
 __mmput kernel/fork.c:1016 [inline]
 mmput+0x14e/0x4a0 kernel/fork.c:1037
 __do_softirq+0x265/0x980 kernel/softirq.c:292
 exit_mm kernel/exit.c:549 [inline]
 do_exit+0xaec/0x2be0 kernel/exit.c:857
 invoke_softirq kernel/softirq.c:372 [inline]
 irq_exit+0x215/0x260 kernel/softirq.c:412
 exiting_irq arch/x86/include/asm/apic.h:536 [inline]
 smp_apic_timer_interrupt+0x136/0x550 arch/x86/kernel/apic/apic.c:1098
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:894
 </IRQ>
RIP: 0010:atomic_read include/asm-generic/atomic-instrumented.h:21 [inline]
RIP: 0010:dump_stack+0x1af/0x2ef lib/dump_stack.c:114
 do_group_exit+0x125/0x310 kernel/exit.c:967
Code: 0c 82 f9 48 83 3d 96 2c db 01 00 75 07 e8 77 2f 4c f9 0f 0b e8 70 2f 4c f9 48 89 df 57 9d 0f 1f 44 00 00 e8 61 2f 4c f9 f3 90 <be> 04 00 00 00 48 c7 c7 c0 24 0c 8b e8 be f8 81 f9 8b 1d 98 ce f5
 __do_sys_exit_group kernel/exit.c:978 [inline]
 __se_sys_exit_group kernel/exit.c:976 [inline]
 __x64_sys_exit_group+0x3a/0x50 kernel/exit.c:976
RSP: 0018:ffff888097f077c8 EFLAGS: 00000293 ORIG_RAX: ffffffffffffff13
 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
RAX: ffff888094f322c0 RBX: 0000000000000002 RCX: ffffffff88165632
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RDX: 0000000000000000 RSI: ffffffff8816560f RDI: 0000000000000005
RIP: 0033:0x7fef8d18ee79
RBP: 0000000000000000 R08: 0000000000000000 R09: 00000000ffffffff
Code: 00 49 c7 c0 c0 ff ff ff be e7 00 00 00 ba 3c 00 00 00 eb 12 0f 1f 44 00 00 89 d0 0f 05 48 3d 00 f0 ff ff 77 1c f4 89 f0 0f 05 <48> 3d 00 f0 ff ff 76 e7 f7 d8 64 41 89 00 eb df 0f 1f 80 00 00 00
R10: 0000000000000005 R11: 0000000000000000 R12: 0000000000000001
RSP: 002b:00007ffddf2ea208 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
R13: 0000000000000200 R14: dffffc0000000000 R15: 1ffffffff13e3052
RAX: ffffffffffffffda RBX: 00007fef8d2033f0 RCX: 00007fef8d18ee79
RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000000
RBP: 0000000000000000 R08: ffffffffffffffc0 R09: 000000000000001c
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fef8d2033f0
 fail_dump lib/fault-inject.c:51 [inline]
 should_fail.cold+0xa/0xf lib/fault-inject.c:149
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000001
Node 0 DMA free:15908kB min:204kB low:252kB high:300kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15908kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
 should_fail_alloc_page mm/page_alloc.c:3088 [inline]
 prepare_alloc_pages mm/page_alloc.c:4346 [inline]
 __alloc_pages_nodemask+0x239/0x2890 mm/page_alloc.c:4393
lowmem_reserve[]: 0 2693 2695 2695 2695
 alloc_pages_vma+0xf2/0x780 mm/mempolicy.c:2161
Node 0 DMA32 free:2023692kB min:35996kB low:44992kB high:53988kB active_anon:35476kB inactive_anon:18868kB active_file:21124kB inactive_file:49120kB unevictable:0kB writepending:112kB present:3129332kB managed:2763452kB mlocked:0kB kernel_stack:6848kB pagetables:1600kB bounce:0kB free_pcp:2640kB local_pcp:1300kB free_cma:0kB
 wp_page_copy+0x219/0x2c40 mm/memory.c:2605
 do_wp_page+0x2d4/0x2210 mm/memory.c:2903
lowmem_reserve[]: 0 0 1 1 1
Node 0 Normal free:8kB min:24kB low:28kB high:32kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:1048576kB managed:2000kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
 handle_pte_fault mm/memory.c:4191 [inline]
 __handle_mm_fault+0x258b/0x41c0 mm/memory.c:4299
lowmem_reserve[]: 0 0 0 0 0
 handle_mm_fault+0x436/0xb10 mm/memory.c:4336
 __do_page_fault+0x68e/0xd60 arch/x86/mm/fault.c:1412
Node 1 Normal free:4040552kB min:53876kB low:67344kB high:80812kB active_anon:0kB inactive_anon:0kB active_file:124kB inactive_file:0kB unevictable:0kB writepending:4kB present:4194304kB managed:4128248kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
 page_fault+0x1e/0x30 arch/x86/entry/entry_64.S:1205
RIP: 0033:0x7fef8d160ab8
lowmem_reserve[]: 0 0 0 0 0
Code: 06 ff ff 64 48 8b 1c 25 10 00 00 00 48 39 1d f7 37 0a 00 74 23 64 8b 04 25 18 00 00 00 85 c0 0f 85 69 02 00 00 ba 01 00 00 00 <0f> b1 15 d1 37 0a 00 48 89 1d d2 37 0a 00 8b 05 c8 37 0a 00 48 8b
RSP: 002b:00007ffddf2ea130 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00005555567d7300 RCX: 0000000000000001
RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 000000000000001c
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fef8d2033f0
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000001
Modules linked in:
Node 0 DMA: 1*4kB (U) 0*8kB 0*16kB 1*32kB (U) 2*64kB (U) 1*128kB (U) 1*256kB (U) 0*512kB 1*1024kB (U) 1*2048kB (M) 3*4096kB (M) = 15908kB
---[ end trace 537cfab6e6fad534 ]---
Node 0 DMA32: 1533*4kB (UME) 98*8kB (UME) 1744*16kB (U) 956*32kB (U) 150*64kB (UE) 1*128kB (M) 2*256kB (UE) 1*512kB (U) 1*1024kB (U) 1*2048kB (E) 475*4096kB (M) = 2024836kB
RIP: 0010:flex_array_get+0x27/0x250 lib/flex_array.c:320
Code: 90 90 90 41 56 41 55 41 54 55 89 f5 53 48 89 fb 48 83 ec 08 e8 1a a0 ee fd 48 89 da 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e b7 01 00 00 44 8b 2b 31 ff 44
Node 0 Normal: 0*4kB 1*8kB (U) 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 8kB
RSP: 0018:ffff8880ba007370 EFLAGS: 00010246
Node 1 Normal: 96*4kB (UE) 403*8kB (U) 293*16kB (UME) 76*32kB (UME) 30*64kB (UME) 16*128kB (UM) 10*256kB (UM) 6*512kB (UM) 4*1024kB (UME) 1*2048kB (U) 980*4096kB (M) = 4040552kB
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff87770a90
RDX: 0000000000000000 RSI: ffffffff8373e556 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888096d12de8
Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
R13: 0000000000000000 R14: ffff8880958d1080 R15: 1ffff11012da25c1
FS:  00005555567d7300(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fef8d203e48 CR3: 00000000b4dd2000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	90                   	nop
   1:	90                   	nop
   2:	90                   	nop
   3:	41 56                	push   %r14
   5:	41 55                	push   %r13
   7:	41 54                	push   %r12
   9:	55                   	push   %rbp
   a:	89 f5                	mov    %esi,%ebp
   c:	53                   	push   %rbx
   d:	48 89 fb             	mov    %rdi,%rbx
  10:	48 83 ec 08          	sub    $0x8,%rsp
  14:	e8 1a a0 ee fd       	callq  0xfdeea033
  19:	48 89 da             	mov    %rbx,%rdx
  1c:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  23:	fc ff df
  26:	48 c1 ea 03          	shr    $0x3,%rdx
* 2a:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax <-- trapping instruction
  2e:	84 c0                	test   %al,%al
  30:	74 08                	je     0x3a
  32:	3c 03                	cmp    $0x3,%al
  34:	0f 8e b7 01 00 00    	jle    0x1f1
  3a:	44 8b 2b             	mov    (%rbx),%r13d
  3d:	31 ff                	xor    %edi,%edi
  3f:	44                   	rex.R

Crashes (16):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/01/15 02:06 linux-4.19.y 3f8a27f9e27b a63719e7 .config console log report syz C [disk image] [vmlinux] ci2-linux-4-19 general protection fault in flex_array_get
2022/06/02 05:49 linux-4.19.y 3f8a27f9e27b b4bc6a3d .config console log report syz C ci2-linux-4-19 general protection fault in flex_array_get
2019/05/03 11:34 linux-4.19.y a03957ab0fd5 1bfa09b9 .config console log report syz C ci2-linux-4-19
2023/01/15 00:50 linux-4.19.y 3f8a27f9e27b a63719e7 .config console log report info [disk image] [vmlinux] ci2-linux-4-19 general protection fault in flex_array_get
2022/06/02 04:22 linux-4.19.y 3f8a27f9e27b b4bc6a3d .config console log report info ci2-linux-4-19 general protection fault in flex_array_get
2022/03/09 15:43 linux-4.19.y 3f8a27f9e27b 9e8eaa75 .config console log report info ci2-linux-4-19 general protection fault in flex_array_get
2021/11/17 06:54 linux-4.19.y 3f8a27f9e27b cafff8b6 .config console log report info ci2-linux-4-19 general protection fault in flex_array_get
2021/09/01 02:08 linux-4.19.y e23d55af0e1f 7eb7e152 .config console log report info ci2-linux-4-19 general protection fault in flex_array_get
2021/07/16 23:57 linux-4.19.y fcfbdfe9626e f115ae98 .config console log report info ci2-linux-4-19 general protection fault in flex_array_get
2021/04/23 19:37 linux-4.19.y 2965db2e004c 17f0b706 .config console log report info ci2-linux-4-19 general protection fault in flex_array_get
2020/11/21 02:51 linux-4.19.y 2c746135a12e 68068804 .config console log report info ci2-linux-4-19
2020/08/14 21:29 linux-4.19.y c14d30dc9987 5ce13532 .config console log report ci2-linux-4-19
2020/06/14 19:24 linux-4.19.y 3fc898571b97 2a22c77a .config console log report ci2-linux-4-19
2020/06/12 03:03 linux-4.19.y 3fc898571b97 1beaee21 .config console log report ci2-linux-4-19
2020/02/01 07:26 linux-4.19.y 7cdefde351b6 0eb59c27 .config console log report ci2-linux-4-19
2019/05/03 10:54 linux-4.19.y a03957ab0fd5 1bfa09b9 .config console log report ci2-linux-4-19
* Struck through repros no longer work on HEAD.