syzbot


BUG: unable to handle kernel paging request in ipgre_header

Status: upstream: reported C repro on 2022/08/04 21:53
Reported-by: syzbot+9cc815719012e9587870@syzkaller.appspotmail.com
First crash: 123d, last: 123d
similar bugs (1):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.14 KASAN: use-after-free Write in ipgre_header C error 1 93d 123d 0/1 upstream: reported C repro on 2022/08/04 21:58

Sample crash report:
BUG: unable to handle page fault for address: ffffed105b877fff
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 23fff3067 P4D 23fff3067 PUD 23fff1067 PMD 0 
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 467 Comm: syz-executor300 Not tainted 5.4.197-syzkaller-00007-g19a66b6f3cd8 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022
RIP: 0010:ipgre_header+0x10e/0x470 net/ipv4/ip_gre.c:831
Code: 41 81 e7 00 40 00 00 44 0f 44 e5 31 ff 44 89 fe e8 57 11 c6 fd 49 8d 6e 01 4c 89 f0 48 c1 e8 03 48 ba 00 00 00 00 00 fc ff df <8a> 04 10 84 c0 0f 85 c4 01 00 00 48 89 e8 48 c1 e8 03 8a 04 10 84
RSP: 0018:ffff8881f6e099c0 EFLAGS: 00010a07
RAX: 1ffff1105b877fff RBX: ffff8882dc3bffe8 RCX: 0000000080000302
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff8882dc3bfffd R08: ffffffff839a4549 R09: 0000000000010038
R10: ffff8881f2bd8fc0 R11: 0000000000000003 R12: 0000000000000000
R13: ffff8881dd706000 R14: ffff8882dc3bfffc R15: 0000000000000000
FS:  0000555555ebd300(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed105b877fff CR3: 00000001f3cc7000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 dev_hard_header include/linux/netdevice.h:2997 [inline]
 neigh_connected_output+0x278/0x430 net/core/neighbour.c:1524
 neigh_output include/net/neighbour.h:525 [inline]
 ip6_finish_output2+0xfde/0x1800 net/ipv6/ip6_output.c:144
 NF_HOOK_COND include/linux/netfilter.h:297 [inline]
 ip6_output+0x158/0x380 net/ipv6/ip6_output.c:242
 dst_output include/net/dst.h:444 [inline]
 NF_HOOK include/linux/netfilter.h:308 [inline]
 ndisc_send_skb+0x669/0xb80 net/ipv6/ndisc.c:508
 addrconf_rs_timer+0x254/0x510 net/ipv6/addrconf.c:3919
 call_timer_fn+0x31/0x350 kernel/time/timer.c:1418
 expire_timers+0x21e/0x400 kernel/time/timer.c:1463
 __run_timers+0x5b0/0x6b0 kernel/time/timer.c:1787
 run_timer_softirq+0x46/0x80 kernel/time/timer.c:1800
 __do_softirq+0x23e/0x643 kernel/softirq.c:292
 do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1083
 </IRQ>
 do_softirq+0xdc/0x110 kernel/softirq.c:337
 __local_bh_enable_ip+0x6a/0x70 kernel/softirq.c:189
 rcu_read_unlock_bh include/linux/rcupdate.h:690 [inline]
 __dev_queue_xmit+0x1593/0x2840 net/core/dev.c:3816
 __bpf_tx_skb net/core/filter.c:2063 [inline]
 __bpf_redirect_no_mac net/core/filter.c:2088 [inline]
 __bpf_redirect+0x6f2/0xcc0 net/core/filter.c:2111
 ____bpf_clone_redirect net/core/filter.c:2142 [inline]
 bpf_clone_redirect+0x243/0x350 net/core/filter.c:2114
Modules linked in:
CR2: ffffed105b877fff
---[ end trace ba757af6bd8ea89d ]---
RIP: 0010:ipgre_header+0x10e/0x470 net/ipv4/ip_gre.c:831
Code: 41 81 e7 00 40 00 00 44 0f 44 e5 31 ff 44 89 fe e8 57 11 c6 fd 49 8d 6e 01 4c 89 f0 48 c1 e8 03 48 ba 00 00 00 00 00 fc ff df <8a> 04 10 84 c0 0f 85 c4 01 00 00 48 89 e8 48 c1 e8 03 8a 04 10 84
RSP: 0018:ffff8881f6e099c0 EFLAGS: 00010a07
RAX: 1ffff1105b877fff RBX: ffff8882dc3bffe8 RCX: 0000000080000302
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff8882dc3bfffd R08: ffffffff839a4549 R09: 0000000000010038
R10: ffff8881f2bd8fc0 R11: 0000000000000003 R12: 0000000000000000
R13: ffff8881dd706000 R14: ffff8882dc3bfffc R15: 0000000000000000
FS:  0000555555ebd300(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed105b877fff CR3: 00000001f3cc7000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	41 81 e7 00 40 00 00 	and    $0x4000,%r15d
   7:	44 0f 44 e5          	cmove  %ebp,%r12d
   b:	31 ff                	xor    %edi,%edi
   d:	44 89 fe             	mov    %r15d,%esi
  10:	e8 57 11 c6 fd       	callq  0xfdc6116c
  15:	49 8d 6e 01          	lea    0x1(%r14),%rbp
  19:	4c 89 f0             	mov    %r14,%rax
  1c:	48 c1 e8 03          	shr    $0x3,%rax
  20:	48 ba 00 00 00 00 00 	movabs $0xdffffc0000000000,%rdx
  27:	fc ff df
* 2a:	8a 04 10             	mov    (%rax,%rdx,1),%al <-- trapping instruction
  2d:	84 c0                	test   %al,%al
  2f:	0f 85 c4 01 00 00    	jne    0x1f9
  35:	48 89 e8             	mov    %rbp,%rax
  38:	48 c1 e8 03          	shr    $0x3,%rax
  3c:	8a 04 10             	mov    (%rax,%rdx,1),%al
  3f:	84                   	.byte 0x84

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-android-5-4-kasan 2022/08/04 21:52 android12-5.4 19a66b6f3cd8 1c9013ac .config log report syz C BUG: unable to handle kernel paging request in ipgre_header
* Struck through repros no longer work on HEAD.