mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* general protection fault in __bfs
@ 2018-12-12 10:57 syzbot
  2018-12-12 11:02 ` Dmitry Vyukov
  0 siblings, 1 reply; 3+ messages in thread
From: syzbot @ 2018-12-12 10:57 UTC (permalink / raw)
  To: andy.shevchenko, bp, douly.fnst, hpa, konrad.wilk, len.brown,
	linux-kernel, mingo, syzkaller-bugs, tglx, vbabka, ville.syrjala,
	x86

Hello,

syzbot found the following crash on:

HEAD commit:    f5d582777bcb Merge branch 'for-linus' of git://git.kernel...
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1657b01b400000
kernel config:  https://syzkaller.appspot.com/x/.config?x=c8970c89a0efbb23
dashboard link: https://syzkaller.appspot.com/bug?extid=9af93090b1662f253d62
compiler:       gcc (GCC) 8.0.1 20180413 (experimental)
userspace arch: i386
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=118448cd400000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17f32705400000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+9af93090b1662f253d62@syzkaller.appspotmail.com

Enabling of bearer <udp:syz1> rejected, already enabled
Enabling of bearer <udp:syz1> rejected, already enabled
Enabling of bearer <udp:syz1> rejected, already enabled
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: 9250 Comm: syz-executor424 Not tainted 4.20.0-rc6+ #274
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  
Google 01/01/2011
RIP: 0010:lock_accessed kernel/locking/lockdep.c:964 [inline]
RIP: 0010:__bfs+0x3d9/0x780 kernel/locking/lockdep.c:1032
Code: 7c 24 c0 41 c6 45 00 f8 74 7c 49 8d 7f 10 4c 89 fe 4c 8b 0d 89 8a aa  
09 48 89 f8 48 81 ee 20 55 eb 8a 48 c1 e8 03 48 c1 fe 06 <42> 80 3c 30 00  
0f 85 d4 01 00 00 4d 8b 47 10 49 8d 40 2c 48 89 c7
RSP: 0018:ffff8881dae06c88 EFLAGS: 00010003
RAX: 0000000000000002 RBX: ffffffff8ae100d0 RCX: 1ffff1103b5c0db1
RDX: 1ffffffff15c201a RSI: 0000000001d452ab RDI: 0000000000000010
RBP: ffff8881dae06df0 R08: 0000000000000001 R09: 0000000000001b46
R10: ffffed103b5c5b5f R11: ffff8881c3dba240 R12: ffff8881dae06dc8
R13: ffffed103b5c0db1 R14: dffffc0000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8881dae00000(0063) knlGS:0000000009355840
CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 0000000008100000 CR3: 00000001c34e9000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
  <IRQ>
  __bfs_forwards kernel/locking/lockdep.c:1060 [inline]
  find_usage_forwards kernel/locking/lockdep.c:1360 [inline]
  check_usage_forwards+0x163/0x3d0 kernel/locking/lockdep.c:2572
  mark_lock_irq kernel/locking/lockdep.c:2687 [inline]
  mark_lock+0x9b5/0x1cd0 kernel/locking/lockdep.c:3059
  mark_irqflags kernel/locking/lockdep.c:2937 [inline]
  __lock_acquire+0x155f/0x4c20 kernel/locking/lockdep.c:3298
  lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844
  __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
  _raw_spin_lock+0x2d/0x40 kernel/locking/spinlock.c:144
  spin_lock include/linux/spinlock.h:329 [inline]
  __queue_work+0xc1b/0x1440 kernel/workqueue.c:1414
  delayed_work_timer_fn+0x5d/0x90 kernel/workqueue.c:1500
  call_timer_fn+0x272/0x920 kernel/time/timer.c:1326
  expire_timers kernel/time/timer.c:1359 [inline]
  __run_timers+0x723/0xc70 kernel/time/timer.c:1682
  run_timer_softirq+0x52/0xb0 kernel/time/timer.c:1695
  __do_softirq+0x308/0xb7e kernel/softirq.c:292
  invoke_softirq kernel/softirq.c:373 [inline]
  irq_exit+0x17f/0x1c0 kernel/softirq.c:413
  exiting_irq arch/x86/include/asm/apic.h:536 [inline]
  smp_apic_timer_interrupt+0x1cb/0x760 arch/x86/kernel/apic/apic.c:1061
  apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807
  </IRQ>
RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:761  
[inline]
RIP: 0010:console_unlock+0xf41/0x1190 kernel/printk/printk.c:2422
Code: 48 89 f8 48 c1 e8 03 42 80 3c 30 00 0f 85 54 02 00 00 48 83 3d 9f 84  
ec 07 00 74 72 e8 18 08 1a 00 48 8b bd b0 fe ff ff 57 9d <0f> 1f 44 00 00  
e9 f3 f2 ff ff e8 00 08 1a 00 0f 0b e8 f9 07 1a 00
RSP: 0018:ffff8881d9246d08 EFLAGS: 00000293 ORIG_RAX: ffffffffffffff13
RAX: ffff8881c3dba240 RBX: 0000000000000200 RCX: 1ffff110387b756b
RDX: 0000000000000000 RSI: ffffffff81657c58 RDI: 0000000000000293
RBP: ffff8881d9246e78 R08: ffff8881c3dbab58 R09: 0000000000000006
R10: 0000000000000000 R11: ffff8881c3dba240 R12: 0000000000000000
R13: ffffffff849c4410 R14: dffffc0000000000 R15: ffffffff89b639d0
  vprintk_emit+0x391/0x990 kernel/printk/printk.c:1922
  vprintk_default+0x28/0x30 kernel/printk/printk.c:1964
  vprintk_func+0x7e/0x181 kernel/printk/printk_safe.c:398
  printk+0xa7/0xcf kernel/printk/printk.c:1997
  tipc_enable_bearer+0x4ad/0xf10 net/tipc/bearer.c:338
  __tipc_nl_bearer_enable+0x37c/0x4a0 net/tipc/bearer.c:897
  tipc_nl_bearer_enable+0x22/0x30 net/tipc/bearer.c:905
  genl_family_rcv_msg+0x8a7/0x11a0 net/netlink/genetlink.c:601
  genl_rcv_msg+0xc6/0x168 net/netlink/genetlink.c:626
  netlink_rcv_skb+0x172/0x440 net/netlink/af_netlink.c:2477
  genl_rcv+0x28/0x40 net/netlink/genetlink.c:637
  netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
  netlink_unicast+0x5a5/0x760 net/netlink/af_netlink.c:1336
  netlink_sendmsg+0xa18/0xfc0 net/netlink/af_netlink.c:1917
  sock_sendmsg_nosec net/socket.c:621 [inline]
  sock_sendmsg+0xd5/0x120 net/socket.c:631
  ___sys_sendmsg+0x7fd/0x930 net/socket.c:2116
  __sys_sendmsg+0x11d/0x280 net/socket.c:2154
  __compat_sys_sendmsg net/compat.c:754 [inline]
  __do_compat_sys_sendmsg net/compat.c:761 [inline]
  __se_compat_sys_sendmsg net/compat.c:758 [inline]
  __ia32_compat_sys_sendmsg+0x7a/0xb0 net/compat.c:758
  do_syscall_32_irqs_on arch/x86/entry/common.c:326 [inline]
  do_fast_syscall_32+0x34d/0xfb2 arch/x86/entry/common.c:397
  entry_SYSENTER_compat+0x70/0x7f arch/x86/entry/entry_64_compat.S:139
RIP: 0023:0xf7f0fa29
Code: 85 d2 74 02 89 0a 5b 5d c3 8b 04 24 c3 8b 14 24 c3 8b 3c 24 c3 90 90  
90 90 90 90 90 90 90 90 90 90 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90  
90 90 90 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90
RSP: 002b:000000000820fd6c EFLAGS: 00000213 ORIG_RAX: 0000000000000172
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000020001e40
RDX: 0000000000000080 RSI: 0000000000000000 RDI: 0000000000000122
RBP: 0000000000010b54 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace fc7927d741510429 ]---
RIP: 0010:lock_accessed kernel/locking/lockdep.c:964 [inline]
RIP: 0010:__bfs+0x3d9/0x780 kernel/locking/lockdep.c:1032
Code: 7c 24 c0 41 c6 45 00 f8 74 7c 49 8d 7f 10 4c 89 fe 4c 8b 0d 89 8a aa  
09 48 89 f8 48 81 ee 20 55 eb 8a 48 c1 e8 03 48 c1 fe 06 <42> 80 3c 30 00  
0f 85 d4 01 00 00 4d 8b 47 10 49 8d 40 2c 48 89 c7
RSP: 0018:ffff8881dae06c88 EFLAGS: 00010003
RAX: 0000000000000002 RBX: ffffffff8ae100d0 RCX: 1ffff1103b5c0db1
RDX: 1ffffffff15c201a RSI: 0000000001d452ab RDI: 0000000000000010
RBP: ffff8881dae06df0 R08: 0000000000000001 R09: 0000000000001b46
R10: ffffed103b5c5b5f R11: ffff8881c3dba240 R12: ffff8881dae06dc8
R13: ffffed103b5c0db1 R14: dffffc0000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8881dae00000(0063) knlGS:0000000009355840
CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 0000000008100000 CR3: 00000001c34e9000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with  
syzbot.
syzbot can test patches for this bug, for details see:
https://goo.gl/tpsmEJ#testing-patches

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: general protection fault in __bfs
  2018-12-12 10:57 general protection fault in __bfs syzbot
@ 2018-12-12 11:02 ` Dmitry Vyukov
  2018-12-12 11:05   ` Dmitry Vyukov
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Vyukov @ 2018-12-12 11:02 UTC (permalink / raw)
  To: syzbot+9af93090b1662f253d62, Jon Maloy, Ying Xue, David Miller,
	netdev, tipc-discussion, Cong Wang
  Cc: Andy Shevchenko, Borislav Petkov, Dou Liyang, H. Peter Anvin,
	konrad.wilk, Len Brown, LKML, Ingo Molnar, syzkaller-bugs,
	Thomas Gleixner, Vlastimil Babka, Ville Syrjälä,
	the arch/x86 maintainers

On Wed, Dec 12, 2018 at 11:57 AM syzbot
<syzbot+9af93090b1662f253d62@syzkaller.appspotmail.com> wrote:
>
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit:    f5d582777bcb Merge branch 'for-linus' of git://git.kernel...
> git tree:       upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=1657b01b400000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=c8970c89a0efbb23
> dashboard link: https://syzkaller.appspot.com/bug?extid=9af93090b1662f253d62
> compiler:       gcc (GCC) 8.0.1 20180413 (experimental)
> userspace arch: i386
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=118448cd400000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17f32705400000

From the reproducer it looks like a dup of TIPC bug:

#syz dup: KASAN: use-after-free Read in kfree_skb (2)



> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+9af93090b1662f253d62@syzkaller.appspotmail.com
>
> Enabling of bearer <udp:syz1> rejected, already enabled
> Enabling of bearer <udp:syz1> rejected, already enabled
> Enabling of bearer <udp:syz1> rejected, already enabled
> 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: 9250 Comm: syz-executor424 Not tainted 4.20.0-rc6+ #274
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> RIP: 0010:lock_accessed kernel/locking/lockdep.c:964 [inline]
> RIP: 0010:__bfs+0x3d9/0x780 kernel/locking/lockdep.c:1032
> Code: 7c 24 c0 41 c6 45 00 f8 74 7c 49 8d 7f 10 4c 89 fe 4c 8b 0d 89 8a aa
> 09 48 89 f8 48 81 ee 20 55 eb 8a 48 c1 e8 03 48 c1 fe 06 <42> 80 3c 30 00
> 0f 85 d4 01 00 00 4d 8b 47 10 49 8d 40 2c 48 89 c7
> RSP: 0018:ffff8881dae06c88 EFLAGS: 00010003
> RAX: 0000000000000002 RBX: ffffffff8ae100d0 RCX: 1ffff1103b5c0db1
> RDX: 1ffffffff15c201a RSI: 0000000001d452ab RDI: 0000000000000010
> RBP: ffff8881dae06df0 R08: 0000000000000001 R09: 0000000000001b46
> R10: ffffed103b5c5b5f R11: ffff8881c3dba240 R12: ffff8881dae06dc8
> R13: ffffed103b5c0db1 R14: dffffc0000000000 R15: 0000000000000000
> FS:  0000000000000000(0000) GS:ffff8881dae00000(0063) knlGS:0000000009355840
> CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
> CR2: 0000000008100000 CR3: 00000001c34e9000 CR4: 00000000001406f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
>   <IRQ>
>   __bfs_forwards kernel/locking/lockdep.c:1060 [inline]
>   find_usage_forwards kernel/locking/lockdep.c:1360 [inline]
>   check_usage_forwards+0x163/0x3d0 kernel/locking/lockdep.c:2572
>   mark_lock_irq kernel/locking/lockdep.c:2687 [inline]
>   mark_lock+0x9b5/0x1cd0 kernel/locking/lockdep.c:3059
>   mark_irqflags kernel/locking/lockdep.c:2937 [inline]
>   __lock_acquire+0x155f/0x4c20 kernel/locking/lockdep.c:3298
>   lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844
>   __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
>   _raw_spin_lock+0x2d/0x40 kernel/locking/spinlock.c:144
>   spin_lock include/linux/spinlock.h:329 [inline]
>   __queue_work+0xc1b/0x1440 kernel/workqueue.c:1414
>   delayed_work_timer_fn+0x5d/0x90 kernel/workqueue.c:1500
>   call_timer_fn+0x272/0x920 kernel/time/timer.c:1326
>   expire_timers kernel/time/timer.c:1359 [inline]
>   __run_timers+0x723/0xc70 kernel/time/timer.c:1682
>   run_timer_softirq+0x52/0xb0 kernel/time/timer.c:1695
>   __do_softirq+0x308/0xb7e kernel/softirq.c:292
>   invoke_softirq kernel/softirq.c:373 [inline]
>   irq_exit+0x17f/0x1c0 kernel/softirq.c:413
>   exiting_irq arch/x86/include/asm/apic.h:536 [inline]
>   smp_apic_timer_interrupt+0x1cb/0x760 arch/x86/kernel/apic/apic.c:1061
>   apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807
>   </IRQ>
> RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:761
> [inline]
> RIP: 0010:console_unlock+0xf41/0x1190 kernel/printk/printk.c:2422
> Code: 48 89 f8 48 c1 e8 03 42 80 3c 30 00 0f 85 54 02 00 00 48 83 3d 9f 84
> ec 07 00 74 72 e8 18 08 1a 00 48 8b bd b0 fe ff ff 57 9d <0f> 1f 44 00 00
> e9 f3 f2 ff ff e8 00 08 1a 00 0f 0b e8 f9 07 1a 00
> RSP: 0018:ffff8881d9246d08 EFLAGS: 00000293 ORIG_RAX: ffffffffffffff13
> RAX: ffff8881c3dba240 RBX: 0000000000000200 RCX: 1ffff110387b756b
> RDX: 0000000000000000 RSI: ffffffff81657c58 RDI: 0000000000000293
> RBP: ffff8881d9246e78 R08: ffff8881c3dbab58 R09: 0000000000000006
> R10: 0000000000000000 R11: ffff8881c3dba240 R12: 0000000000000000
> R13: ffffffff849c4410 R14: dffffc0000000000 R15: ffffffff89b639d0
>   vprintk_emit+0x391/0x990 kernel/printk/printk.c:1922
>   vprintk_default+0x28/0x30 kernel/printk/printk.c:1964
>   vprintk_func+0x7e/0x181 kernel/printk/printk_safe.c:398
>   printk+0xa7/0xcf kernel/printk/printk.c:1997
>   tipc_enable_bearer+0x4ad/0xf10 net/tipc/bearer.c:338
>   __tipc_nl_bearer_enable+0x37c/0x4a0 net/tipc/bearer.c:897
>   tipc_nl_bearer_enable+0x22/0x30 net/tipc/bearer.c:905
>   genl_family_rcv_msg+0x8a7/0x11a0 net/netlink/genetlink.c:601
>   genl_rcv_msg+0xc6/0x168 net/netlink/genetlink.c:626
>   netlink_rcv_skb+0x172/0x440 net/netlink/af_netlink.c:2477
>   genl_rcv+0x28/0x40 net/netlink/genetlink.c:637
>   netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
>   netlink_unicast+0x5a5/0x760 net/netlink/af_netlink.c:1336
>   netlink_sendmsg+0xa18/0xfc0 net/netlink/af_netlink.c:1917
>   sock_sendmsg_nosec net/socket.c:621 [inline]
>   sock_sendmsg+0xd5/0x120 net/socket.c:631
>   ___sys_sendmsg+0x7fd/0x930 net/socket.c:2116
>   __sys_sendmsg+0x11d/0x280 net/socket.c:2154
>   __compat_sys_sendmsg net/compat.c:754 [inline]
>   __do_compat_sys_sendmsg net/compat.c:761 [inline]
>   __se_compat_sys_sendmsg net/compat.c:758 [inline]
>   __ia32_compat_sys_sendmsg+0x7a/0xb0 net/compat.c:758
>   do_syscall_32_irqs_on arch/x86/entry/common.c:326 [inline]
>   do_fast_syscall_32+0x34d/0xfb2 arch/x86/entry/common.c:397
>   entry_SYSENTER_compat+0x70/0x7f arch/x86/entry/entry_64_compat.S:139
> RIP: 0023:0xf7f0fa29
> Code: 85 d2 74 02 89 0a 5b 5d c3 8b 04 24 c3 8b 14 24 c3 8b 3c 24 c3 90 90
> 90 90 90 90 90 90 90 90 90 90 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90
> 90 90 90 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90
> RSP: 002b:000000000820fd6c EFLAGS: 00000213 ORIG_RAX: 0000000000000172
> RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000020001e40
> RDX: 0000000000000080 RSI: 0000000000000000 RDI: 0000000000000122
> RBP: 0000000000010b54 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
> R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
> Modules linked in:
> ---[ end trace fc7927d741510429 ]---
> RIP: 0010:lock_accessed kernel/locking/lockdep.c:964 [inline]
> RIP: 0010:__bfs+0x3d9/0x780 kernel/locking/lockdep.c:1032
> Code: 7c 24 c0 41 c6 45 00 f8 74 7c 49 8d 7f 10 4c 89 fe 4c 8b 0d 89 8a aa
> 09 48 89 f8 48 81 ee 20 55 eb 8a 48 c1 e8 03 48 c1 fe 06 <42> 80 3c 30 00
> 0f 85 d4 01 00 00 4d 8b 47 10 49 8d 40 2c 48 89 c7
> RSP: 0018:ffff8881dae06c88 EFLAGS: 00010003
> RAX: 0000000000000002 RBX: ffffffff8ae100d0 RCX: 1ffff1103b5c0db1
> RDX: 1ffffffff15c201a RSI: 0000000001d452ab RDI: 0000000000000010
> RBP: ffff8881dae06df0 R08: 0000000000000001 R09: 0000000000001b46
> R10: ffffed103b5c5b5f R11: ffff8881c3dba240 R12: ffff8881dae06dc8
> R13: ffffed103b5c0db1 R14: dffffc0000000000 R15: 0000000000000000
> FS:  0000000000000000(0000) GS:ffff8881dae00000(0063) knlGS:0000000009355840
> CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
> CR2: 0000000008100000 CR3: 00000001c34e9000 CR4: 00000000001406f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
>
>
> ---
> This bug is generated by a bot. It may contain errors.
> See https://goo.gl/tpsmEJ for more information about syzbot.
> syzbot engineers can be reached at syzkaller@googlegroups.com.
>
> syzbot will keep track of this bug report. See:
> https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
> syzbot.
> syzbot can test patches for this bug, for details see:
> https://goo.gl/tpsmEJ#testing-patches
>
> --
> You received this message because you are subscribed to the Google Groups "syzkaller-bugs" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller-bugs+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/000000000000e0642f057cd10e42%40google.com.
> For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: general protection fault in __bfs
  2018-12-12 11:02 ` Dmitry Vyukov
@ 2018-12-12 11:05   ` Dmitry Vyukov
  0 siblings, 0 replies; 3+ messages in thread
From: Dmitry Vyukov @ 2018-12-12 11:05 UTC (permalink / raw)
  To: syzbot+9af93090b1662f253d62, Jon Maloy, Ying Xue, David Miller,
	netdev, tipc-discussion, Cong Wang
  Cc: Andy Shevchenko, Borislav Petkov, H. Peter Anvin, konrad.wilk,
	Len Brown, LKML, Ingo Molnar, syzkaller-bugs, Thomas Gleixner,
	Vlastimil Babka, Ville Syrjälä,
	the arch/x86 maintainers, kasan-dev

On Wed, Dec 12, 2018 at 12:02 PM Dmitry Vyukov <dvyukov@google.com> wrote:
>
> On Wed, Dec 12, 2018 at 11:57 AM syzbot
> <syzbot+9af93090b1662f253d62@syzkaller.appspotmail.com> wrote:
> >
> > Hello,
> >
> > syzbot found the following crash on:
> >
> > HEAD commit:    f5d582777bcb Merge branch 'for-linus' of git://git.kernel...
> > git tree:       upstream
> > console output: https://syzkaller.appspot.com/x/log.txt?x=1657b01b400000
> > kernel config:  https://syzkaller.appspot.com/x/.config?x=c8970c89a0efbb23
> > dashboard link: https://syzkaller.appspot.com/bug?extid=9af93090b1662f253d62
> > compiler:       gcc (GCC) 8.0.1 20180413 (experimental)
> > userspace arch: i386
> > syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=118448cd400000
> > C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17f32705400000
>
> From the reproducer it looks like a dup of TIPC bug:
>
> #syz dup: KASAN: use-after-free Read in kfree_skb (2)

A good question is how this skb double-free gets past KASAN and
silently corrupts memory? Does it just exploit the narrow race between
KASAN check and actual memory write or there is something more
fundamental?...


> > IMPORTANT: if you fix the bug, please add the following tag to the commit:
> > Reported-by: syzbot+9af93090b1662f253d62@syzkaller.appspotmail.com
> >
> > Enabling of bearer <udp:syz1> rejected, already enabled
> > Enabling of bearer <udp:syz1> rejected, already enabled
> > Enabling of bearer <udp:syz1> rejected, already enabled
> > 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: 9250 Comm: syz-executor424 Not tainted 4.20.0-rc6+ #274
> > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> > Google 01/01/2011
> > RIP: 0010:lock_accessed kernel/locking/lockdep.c:964 [inline]
> > RIP: 0010:__bfs+0x3d9/0x780 kernel/locking/lockdep.c:1032
> > Code: 7c 24 c0 41 c6 45 00 f8 74 7c 49 8d 7f 10 4c 89 fe 4c 8b 0d 89 8a aa
> > 09 48 89 f8 48 81 ee 20 55 eb 8a 48 c1 e8 03 48 c1 fe 06 <42> 80 3c 30 00
> > 0f 85 d4 01 00 00 4d 8b 47 10 49 8d 40 2c 48 89 c7
> > RSP: 0018:ffff8881dae06c88 EFLAGS: 00010003
> > RAX: 0000000000000002 RBX: ffffffff8ae100d0 RCX: 1ffff1103b5c0db1
> > RDX: 1ffffffff15c201a RSI: 0000000001d452ab RDI: 0000000000000010
> > RBP: ffff8881dae06df0 R08: 0000000000000001 R09: 0000000000001b46
> > R10: ffffed103b5c5b5f R11: ffff8881c3dba240 R12: ffff8881dae06dc8
> > R13: ffffed103b5c0db1 R14: dffffc0000000000 R15: 0000000000000000
> > FS:  0000000000000000(0000) GS:ffff8881dae00000(0063) knlGS:0000000009355840
> > CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
> > CR2: 0000000008100000 CR3: 00000001c34e9000 CR4: 00000000001406f0
> > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> > Call Trace:
> >   <IRQ>
> >   __bfs_forwards kernel/locking/lockdep.c:1060 [inline]
> >   find_usage_forwards kernel/locking/lockdep.c:1360 [inline]
> >   check_usage_forwards+0x163/0x3d0 kernel/locking/lockdep.c:2572
> >   mark_lock_irq kernel/locking/lockdep.c:2687 [inline]
> >   mark_lock+0x9b5/0x1cd0 kernel/locking/lockdep.c:3059
> >   mark_irqflags kernel/locking/lockdep.c:2937 [inline]
> >   __lock_acquire+0x155f/0x4c20 kernel/locking/lockdep.c:3298
> >   lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844
> >   __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
> >   _raw_spin_lock+0x2d/0x40 kernel/locking/spinlock.c:144
> >   spin_lock include/linux/spinlock.h:329 [inline]
> >   __queue_work+0xc1b/0x1440 kernel/workqueue.c:1414
> >   delayed_work_timer_fn+0x5d/0x90 kernel/workqueue.c:1500
> >   call_timer_fn+0x272/0x920 kernel/time/timer.c:1326
> >   expire_timers kernel/time/timer.c:1359 [inline]
> >   __run_timers+0x723/0xc70 kernel/time/timer.c:1682
> >   run_timer_softirq+0x52/0xb0 kernel/time/timer.c:1695
> >   __do_softirq+0x308/0xb7e kernel/softirq.c:292
> >   invoke_softirq kernel/softirq.c:373 [inline]
> >   irq_exit+0x17f/0x1c0 kernel/softirq.c:413
> >   exiting_irq arch/x86/include/asm/apic.h:536 [inline]
> >   smp_apic_timer_interrupt+0x1cb/0x760 arch/x86/kernel/apic/apic.c:1061
> >   apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807
> >   </IRQ>
> > RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:761
> > [inline]
> > RIP: 0010:console_unlock+0xf41/0x1190 kernel/printk/printk.c:2422
> > Code: 48 89 f8 48 c1 e8 03 42 80 3c 30 00 0f 85 54 02 00 00 48 83 3d 9f 84
> > ec 07 00 74 72 e8 18 08 1a 00 48 8b bd b0 fe ff ff 57 9d <0f> 1f 44 00 00
> > e9 f3 f2 ff ff e8 00 08 1a 00 0f 0b e8 f9 07 1a 00
> > RSP: 0018:ffff8881d9246d08 EFLAGS: 00000293 ORIG_RAX: ffffffffffffff13
> > RAX: ffff8881c3dba240 RBX: 0000000000000200 RCX: 1ffff110387b756b
> > RDX: 0000000000000000 RSI: ffffffff81657c58 RDI: 0000000000000293
> > RBP: ffff8881d9246e78 R08: ffff8881c3dbab58 R09: 0000000000000006
> > R10: 0000000000000000 R11: ffff8881c3dba240 R12: 0000000000000000
> > R13: ffffffff849c4410 R14: dffffc0000000000 R15: ffffffff89b639d0
> >   vprintk_emit+0x391/0x990 kernel/printk/printk.c:1922
> >   vprintk_default+0x28/0x30 kernel/printk/printk.c:1964
> >   vprintk_func+0x7e/0x181 kernel/printk/printk_safe.c:398
> >   printk+0xa7/0xcf kernel/printk/printk.c:1997
> >   tipc_enable_bearer+0x4ad/0xf10 net/tipc/bearer.c:338
> >   __tipc_nl_bearer_enable+0x37c/0x4a0 net/tipc/bearer.c:897
> >   tipc_nl_bearer_enable+0x22/0x30 net/tipc/bearer.c:905
> >   genl_family_rcv_msg+0x8a7/0x11a0 net/netlink/genetlink.c:601
> >   genl_rcv_msg+0xc6/0x168 net/netlink/genetlink.c:626
> >   netlink_rcv_skb+0x172/0x440 net/netlink/af_netlink.c:2477
> >   genl_rcv+0x28/0x40 net/netlink/genetlink.c:637
> >   netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
> >   netlink_unicast+0x5a5/0x760 net/netlink/af_netlink.c:1336
> >   netlink_sendmsg+0xa18/0xfc0 net/netlink/af_netlink.c:1917
> >   sock_sendmsg_nosec net/socket.c:621 [inline]
> >   sock_sendmsg+0xd5/0x120 net/socket.c:631
> >   ___sys_sendmsg+0x7fd/0x930 net/socket.c:2116
> >   __sys_sendmsg+0x11d/0x280 net/socket.c:2154
> >   __compat_sys_sendmsg net/compat.c:754 [inline]
> >   __do_compat_sys_sendmsg net/compat.c:761 [inline]
> >   __se_compat_sys_sendmsg net/compat.c:758 [inline]
> >   __ia32_compat_sys_sendmsg+0x7a/0xb0 net/compat.c:758
> >   do_syscall_32_irqs_on arch/x86/entry/common.c:326 [inline]
> >   do_fast_syscall_32+0x34d/0xfb2 arch/x86/entry/common.c:397
> >   entry_SYSENTER_compat+0x70/0x7f arch/x86/entry/entry_64_compat.S:139
> > RIP: 0023:0xf7f0fa29
> > Code: 85 d2 74 02 89 0a 5b 5d c3 8b 04 24 c3 8b 14 24 c3 8b 3c 24 c3 90 90
> > 90 90 90 90 90 90 90 90 90 90 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90
> > 90 90 90 eb 0d 90 90 90 90 90 90 90 90 90 90 90 90
> > RSP: 002b:000000000820fd6c EFLAGS: 00000213 ORIG_RAX: 0000000000000172
> > RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000020001e40
> > RDX: 0000000000000080 RSI: 0000000000000000 RDI: 0000000000000122
> > RBP: 0000000000010b54 R08: 0000000000000000 R09: 0000000000000000
> > R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
> > R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
> > Modules linked in:
> > ---[ end trace fc7927d741510429 ]---
> > RIP: 0010:lock_accessed kernel/locking/lockdep.c:964 [inline]
> > RIP: 0010:__bfs+0x3d9/0x780 kernel/locking/lockdep.c:1032
> > Code: 7c 24 c0 41 c6 45 00 f8 74 7c 49 8d 7f 10 4c 89 fe 4c 8b 0d 89 8a aa
> > 09 48 89 f8 48 81 ee 20 55 eb 8a 48 c1 e8 03 48 c1 fe 06 <42> 80 3c 30 00
> > 0f 85 d4 01 00 00 4d 8b 47 10 49 8d 40 2c 48 89 c7
> > RSP: 0018:ffff8881dae06c88 EFLAGS: 00010003
> > RAX: 0000000000000002 RBX: ffffffff8ae100d0 RCX: 1ffff1103b5c0db1
> > RDX: 1ffffffff15c201a RSI: 0000000001d452ab RDI: 0000000000000010
> > RBP: ffff8881dae06df0 R08: 0000000000000001 R09: 0000000000001b46
> > R10: ffffed103b5c5b5f R11: ffff8881c3dba240 R12: ffff8881dae06dc8
> > R13: ffffed103b5c0db1 R14: dffffc0000000000 R15: 0000000000000000
> > FS:  0000000000000000(0000) GS:ffff8881dae00000(0063) knlGS:0000000009355840
> > CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
> > CR2: 0000000008100000 CR3: 00000001c34e9000 CR4: 00000000001406f0
> > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> >
> >
> > ---
> > This bug is generated by a bot. It may contain errors.
> > See https://goo.gl/tpsmEJ for more information about syzbot.
> > syzbot engineers can be reached at syzkaller@googlegroups.com.
> >
> > syzbot will keep track of this bug report. See:
> > https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
> > syzbot.
> > syzbot can test patches for this bug, for details see:
> > https://goo.gl/tpsmEJ#testing-patches
> >
> > --
> > You received this message because you are subscribed to the Google Groups "syzkaller-bugs" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller-bugs+unsubscribe@googlegroups.com.
> > To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/000000000000e0642f057cd10e42%40google.com.
> > For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-12-12 11:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-12 10:57 general protection fault in __bfs syzbot
2018-12-12 11:02 ` Dmitry Vyukov
2018-12-12 11:05   ` Dmitry Vyukov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®