2019-01-02 13:55:35

by syzbot

[permalink] [raw]
Subject: WARNING in hsr_addr_subst_dest

Hello,

syzbot found the following crash on:

HEAD commit: 195303136f19 Merge tag 'kconfig-v4.21-2' of git://git.kern..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=14fcd2e7400000
kernel config: https://syzkaller.appspot.com/x/.config?x=5e7dc790609552d7
dashboard link: https://syzkaller.appspot.com/bug?extid=b92e4f1472a54e1c7dec
compiler: gcc (GCC) 8.0.1 20180413 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=107db700c00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12304827400000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: [email protected]

IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready
IPv6: ADDRCONF(NETDEV_UP): vxcan1: link is not ready
8021q: adding VLAN 0 to HW filter on device batadv0
------------[ cut here ]------------
hsr_addr_subst_dest: Unknown node
WARNING: CPU: 1 PID: 7814 at net/hsr/hsr_framereg.c:301
hsr_addr_subst_dest+0x6c7/0x850 net/hsr/hsr_framereg.c:301
Kernel panic - not syncing: panic_on_warn set ...
CPU: 1 PID: 7814 Comm: syz-executor962 Not tainted 4.20.0+ #396
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x1d3/0x2c6 lib/dump_stack.c:113
panic+0x2ad/0x55f kernel/panic.c:189
__warn.cold.8+0x20/0x52 kernel/panic.c:544
report_bug+0x254/0x2d0 lib/bug.c:186
fixup_bug arch/x86/kernel/traps.c:178 [inline]
do_error_trap+0x11b/0x200 arch/x86/kernel/traps.c:271
do_invalid_op+0x36/0x40 arch/x86/kernel/traps.c:290
invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:973
RIP: 0010:hsr_addr_subst_dest+0x6c7/0x850 net/hsr/hsr_framereg.c:301
Code: bf dc 5f f9 0f 0b e9 ad fd ff ff e8 23 97 96 f9 48 c7 c6 20 fc f9 88
48 c7 c7 e0 fb f9 88 c6 05 ac 7d 4b 02 01 e8 99 dc 5f f9 <0f> 0b e9 87 fd
ff ff 48 89 cf e8 2a 7b da f9 e9 e7 f9 ff ff 48 89
RSP: 0018:ffff8880a0e9ec60 EFLAGS: 00010282
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff81683f55 RDI: 0000000000000005
RBP: ffff8880a0e9ed78 R08: ffff888090ed6580 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000
R13: ffff888086d356a0 R14: ffffed10141d3da2 R15: ffff888086d356a0
hsr_xmit net/hsr/hsr_forward.c:230 [inline]
hsr_forward_do net/hsr/hsr_forward.c:295 [inline]
hsr_forward_skb+0x1e68/0x28a0 net/hsr/hsr_forward.c:373
hsr_dev_xmit+0x71/0xa0 net/hsr/hsr_device.c:243
__netdev_start_xmit include/linux/netdevice.h:4382 [inline]
netdev_start_xmit include/linux/netdevice.h:4391 [inline]
xmit_one net/core/dev.c:3278 [inline]
dev_hard_start_xmit+0x286/0xc80 net/core/dev.c:3294
__dev_queue_xmit+0x2f62/0x3ac0 net/core/dev.c:3864
dev_queue_xmit+0x17/0x20 net/core/dev.c:3897
packet_snd net/packet/af_packet.c:2932 [inline]
packet_sendmsg+0x298a/0x6ad0 net/packet/af_packet.c:2957
sock_sendmsg_nosec net/socket.c:621 [inline]
sock_sendmsg+0xd5/0x120 net/socket.c:631
__sys_sendto+0x3d7/0x670 net/socket.c:1788
__do_sys_sendto net/socket.c:1800 [inline]
__se_sys_sendto net/socket.c:1796 [inline]
__x64_sys_sendto+0xe1/0x1a0 net/socket.c:1796
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x442129
Code: e8 4c 06 03 00 48 83 c4 18 c3 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7
48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff
ff 0f 83 7b 0a fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fffb6839fa8 EFLAGS: 00000216 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000442129
RDX: 0000000000000011 RSI: 0000000020000140 RDI: 0000000000000003
RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000004 R11: 0000000000000216 R12: 0000000000000000
R13: 00007fffb6839ff0 R14: 0000000000000000 R15: 0000000000000000
Kernel Offset: disabled
Rebooting in 86400 seconds..


---
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 [email protected].

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


2019-03-12 06:27:55

by syzbot

[permalink] [raw]
Subject: Re: WARNING in hsr_addr_subst_dest

syzbot has bisected this bug to:

commit ab42f35d9cb5ac49b5a2a11f940e74f58f207280
Author: Ming Lei <[email protected]>
Date: Fri May 26 11:53:19 2017 +0000

blk-mq: merge bio into sw queue before plugging

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=1681996f200000
start commit: ab42f35d blk-mq: merge bio into sw queue before plugging
git tree: upstream
final crash: https://syzkaller.appspot.com/x/report.txt?x=1581996f200000
console output: https://syzkaller.appspot.com/x/log.txt?x=1181996f200000
kernel config: https://syzkaller.appspot.com/x/.config?x=5e7dc790609552d7
dashboard link: https://syzkaller.appspot.com/bug?extid=b92e4f1472a54e1c7dec
userspace arch: amd64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=107db700c00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12304827400000

Reported-by: [email protected]
Fixes: ab42f35d ("blk-mq: merge bio into sw queue before plugging")

2019-03-12 12:04:20

by Oliver Hartkopp

[permalink] [raw]
Subject: Re: WARNING in hsr_addr_subst_dest

Hi all,

I'm not sure why a Kernel 4.12.0-rc2+ is used here, but I do not get any
problems on the my latest 5.0.0-06622-g1fc1cd8399ab tree and I strongly
assume this patch showing up in 4.12-rc6

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?id=74b7b490886852582d986a33443c2ffa50970169

fixes the problem.

Best regards,
Oliver

On 3/12/19 7:27 AM, syzbot wrote:
> syzbot has bisected this bug to:
>
> commit ab42f35d9cb5ac49b5a2a11f940e74f58f207280
> Author: Ming Lei <[email protected]>
> Date:   Fri May 26 11:53:19 2017 +0000
>
>     blk-mq: merge bio into sw queue before plugging
>
> bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=1681996f200000
> start commit:   ab42f35d blk-mq: merge bio into sw queue before plugging
> git tree:       upstream
> final crash:    https://syzkaller.appspot.com/x/report.txt?x=1581996f200000
> console output: https://syzkaller.appspot.com/x/log.txt?x=1181996f200000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=5e7dc790609552d7
> dashboard link:
> https://syzkaller.appspot.com/bug?extid=b92e4f1472a54e1c7dec
> userspace arch: amd64
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=107db700c00000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=12304827400000
>
> Reported-by: [email protected]
> Fixes: ab42f35d ("blk-mq: merge bio into sw queue before plugging")

2019-03-12 16:10:09

by Dmitry Vyukov

[permalink] [raw]
Subject: Re: WARNING in hsr_addr_subst_dest

On Tue, Mar 12, 2019 at 1:03 PM Oliver Hartkopp <[email protected]> wrote:
>
> Hi all,
>
> I'm not sure why a Kernel 4.12.0-rc2+ is used here, but I do not get any
> problems on the my latest 5.0.0-06622-g1fc1cd8399ab tree and I strongly
> assume this patch showing up in 4.12-rc6
>
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?id=74b7b490886852582d986a33443c2ffa50970169
>
> fixes the problem.
>
> Best regards,
> Oliver

Hi Oliver,

You can see how bisection progressed and got to 4.12.0-rc2+ in the
bisection log.

The commit that it come up with looks unrelated.
I've started collecting such cases at:
https://github.com/google/syzkaller/issues/1051
and added for this case:

=====
Bisected to wrong commit.
Root cause: broken kernel boots, bugs that happen on all tests.
Boot is broken for several releases with "WARNING in hsr_forward_skb",
this switches to a bug that happens during every test "INFO: trying to
register non-static key in can_notifier", which then leads to a
completely random commit.
=====


> > commit ab42f35d9cb5ac49b5a2a11f940e74f58f207280
> > Author: Ming Lei <[email protected]>
> > Date: Fri May 26 11:53:19 2017 +0000
> >
> > blk-mq: merge bio into sw queue before plugging
> >
> > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=1681996f200000
> > start commit: ab42f35d blk-mq: merge bio into sw queue before plugging
> > git tree: upstream
> > final crash: https://syzkaller.appspot.com/x/report.txt?x=1581996f200000
> > console output: https://syzkaller.appspot.com/x/log.txt?x=1181996f200000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=5e7dc790609552d7
> > dashboard link:
> > https://syzkaller.appspot.com/bug?extid=b92e4f1472a54e1c7dec
> > userspace arch: amd64
> > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=107db700c00000
> > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12304827400000
> >
> > Reported-by: [email protected]
> > Fixes: ab42f35d ("blk-mq: merge bio into sw queue before plugging")
>
> --
> 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 [email protected].
> To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/11a39c4b-9ac1-e55e-1773-534248a1d1d8%40hartkopp.net.
> For more options, visit https://groups.google.com/d/optout.

2020-05-04 03:31:03

by syzbot

[permalink] [raw]
Subject: Re: WARNING in hsr_addr_subst_dest

syzbot suspects this bug was fixed by commit:

commit 4b793acdca0050739b99ace6a8b9e7f717f57c6b
Author: Taehee Yoo <[email protected]>
Date: Fri Feb 28 18:01:46 2020 +0000

hsr: use netdev_err() instead of WARN_ONCE()

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=130746ffe00000
start commit: ea200dec Merge tag 'armsoc-fixes' of git://git.kernel.org/..
git tree: upstream
kernel config: https://syzkaller.appspot.com/x/.config?x=dcf10bf83926432a
dashboard link: https://syzkaller.appspot.com/bug?extid=b92e4f1472a54e1c7dec
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14b5cafee00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12574271e00000

If the result looks correct, please mark the bug fixed by replying with:

#syz fix: hsr: use netdev_err() instead of WARN_ONCE()

For information about bisection process see: https://goo.gl/tpsmEJ#bisection