Re: WARNING in skb_warn_bad_offload

2018-04-08 Thread Eric Biggers
On Wed, Nov 01, 2017 at 09:50:18PM +0300, 'Dmitry Vyukov' via syzkaller-bugs 
wrote:
> On Wed, Nov 1, 2017 at 9:48 PM, syzbot
> 
> wrote:
> > Hello,
> >
> > syzkaller hit the following crash on
> > 720bbe532b7c8f5613b48dea627fc58ed9ace707
> > git://git.cmpxchg.org/linux-mmots.git/master
> > compiler: gcc (GCC) 7.1.1 20170620
> > .config is attached
> > Raw console output is attached.
> > C reproducer is attached
> > syzkaller reproducer is attached. See https://goo.gl/kgGztJ
> > for information about syzkaller reproducers
> 
> 
> This also happens on more recent commits, including linux-next
> 36ef71cae353f88fd6e095e2aaa3e5953af1685d (Oct 20):
> 
> syz0: caps=(0x040058c1, 0x) len=4203
> data_len=2810 gso_size=8465 gso_type=3 ip_summed=0
> [ cut here ]
> WARNING: CPU: 0 PID: 3473 at net/core/dev.c:2618
> skb_warn_bad_offload.cold.139+0x224/0x261 net/core/dev.c:2613
> Kernel panic - not syncing: panic_on_warn set ...
> 
> CPU: 0 PID: 3473 Comm: a.out Not tainted 4.14.0-rc5-next-20171018 #15
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
> Call Trace:
>  __dump_stack lib/dump_stack.c:16 [inline]
>  dump_stack+0x1a8/0x272 lib/dump_stack.c:52
>  panic+0x21e/0x4b7 kernel/panic.c:183
>  __warn.cold.6+0x182/0x187 kernel/panic.c:546
>  report_bug+0x232/0x330 lib/bug.c:183
>  fixup_bug+0x3f/0x90 arch/x86/kernel/traps.c:177
>  do_trap_no_signal arch/x86/kernel/traps.c:211 [inline]
>  do_trap+0x132/0x280 arch/x86/kernel/traps.c:260
>  do_error_trap+0x11f/0x390 arch/x86/kernel/traps.c:297
>  do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:310
>  invalid_op+0x18/0x20 arch/x86/entry/entry_64.S:905
> RIP: 0010:skb_warn_bad_offload.cold.139+0x224/0x261 net/core/dev.c:2613
> RSP: 0018:880064797038 EFLAGS: 00010286
> RAX: 006f RBX: 88006365efe8 RCX: 
> RDX: 006f RSI: 815c88c1 RDI: ed000c8f2dfd
> RBP: 880064797090 R08: 8800686f86c0 R09: 0002
> R10: 8800686f86c0 R11:  R12: 8800538b1680
> R13:  R14: 8800538b1680 R15: 2111
>  __skb_gso_segment+0x69e/0x860 net/core/dev.c:2824
>  skb_gso_segment include/linux/netdevice.h:3971 [inline]
>  validate_xmit_skb+0x29f/0xca0 net/core/dev.c:3074
>  validate_xmit_skb_list+0xb7/0x120 net/core/dev.c:3125
>  sch_direct_xmit+0x5b5/0x710 net/sched/sch_generic.c:181
>  __dev_xmit_skb net/core/dev.c:3206 [inline]
>  __dev_queue_xmit+0x1e41/0x2350 net/core/dev.c:3473
>  dev_queue_xmit+0x17/0x20 net/core/dev.c:3538
>  packet_snd net/packet/af_packet.c:2956 [inline]
>  packet_sendmsg+0x487a/0x64b0 net/packet/af_packet.c:2981
>  sock_sendmsg_nosec net/socket.c:632 [inline]
>  sock_sendmsg+0xd2/0x120 net/socket.c:642
>  ___sys_sendmsg+0x7cc/0x900 net/socket.c:2048
>  __sys_sendmsg+0xe6/0x220 net/socket.c:2082
>  SYSC_sendmsg net/socket.c:2093 [inline]
>  SyS_sendmsg+0x36/0x60 net/socket.c:2089
>  entry_SYSCALL_64_fastpath+0x1f/0xbe
> RIP: 0033:0x44bab9
> RSP: 002b:007eff18 EFLAGS: 0246 ORIG_RAX: 002e
> RAX: ffda RBX: 20001046 RCX: 0044bab9
> RDX: 4010 RSI: 207fcfc8 RDI: 0004
> RBP: 0086 R08: 850b2da14d2a3706 R09: 
> R10: 1b91126b7f398aaa R11: 0246 R12: 
> R13: 00407950 R14: 004079e0 R15: 
> 
> 
> 
> 
> 
> > [ cut here ]
> > WARNING: CPU: 0 PID: 2986 at net/core/dev.c:2585
> > skb_warn_bad_offload+0x2a9/0x380 net/core/dev.c:2580
> > Kernel panic - not syncing: panic_on_warn set ...
> >
> > CPU: 0 PID: 2986 Comm: syzkaller546001 Not tainted 4.13.0-mm1+ #7
> > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> > Google 01/01/2011
> > Call Trace:
> >  __dump_stack lib/dump_stack.c:16 [inline]
> >  dump_stack+0x194/0x257 lib/dump_stack.c:52
> >  panic+0x1e4/0x417 kernel/panic.c:181
> >  __warn+0x1c4/0x1d9 kernel/panic.c:542
> >  report_bug+0x211/0x2d0 lib/bug.c:183
> >  fixup_bug+0x40/0x90 arch/x86/kernel/traps.c:178
> >  do_trap_no_signal arch/x86/kernel/traps.c:212 [inline]
> >  do_trap+0x260/0x390 arch/x86/kernel/traps.c:261
> >  do_error_trap+0x120/0x390 arch/x86/kernel/traps.c:298
> >  do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:311
> >  invalid_op+0x18/0x20 arch/x86/entry/entry_64.S:905
> > RIP: 0010:skb_warn_bad_offload+0x2a9/0x380 net/core/dev.c:2580
> > RSP: 0018:8801ce73f0a0 EFLAGS: 00010282
> > RAX: 006f RBX: 8801cd84cde0 RCX: 
> > RDX: 006f RSI: 110039ce7dd4 RDI: ed0039ce7e08
> > RBP: 8801ce73f0f8 R08: 8801ce73e790 R09: 
> > R10:  R11:  R12: 8801ce7802c0
> > R13:  R14: 8801ce7802c0 R15: 2111
> >  __skb_gso_segment+0x607/0x7f0 net/core/dev.c:2791
> >  skb_gso_segment include/linux/netdevice.h:3951 [inline]
> >  validate_

Re: WARNING in skb_warn_bad_offload

2017-11-01 Thread Dmitry Vyukov
On Wed, Nov 1, 2017 at 9:48 PM, syzbot

wrote:
> Hello,
>
> syzkaller hit the following crash on
> 720bbe532b7c8f5613b48dea627fc58ed9ace707
> git://git.cmpxchg.org/linux-mmots.git/master
> compiler: gcc (GCC) 7.1.1 20170620
> .config is attached
> Raw console output is attached.
> C reproducer is attached
> syzkaller reproducer is attached. See https://goo.gl/kgGztJ
> for information about syzkaller reproducers


This also happens on more recent commits, including linux-next
36ef71cae353f88fd6e095e2aaa3e5953af1685d (Oct 20):

syz0: caps=(0x040058c1, 0x) len=4203
data_len=2810 gso_size=8465 gso_type=3 ip_summed=0
[ cut here ]
WARNING: CPU: 0 PID: 3473 at net/core/dev.c:2618
skb_warn_bad_offload.cold.139+0x224/0x261 net/core/dev.c:2613
Kernel panic - not syncing: panic_on_warn set ...

CPU: 0 PID: 3473 Comm: a.out Not tainted 4.14.0-rc5-next-20171018 #15
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:16 [inline]
 dump_stack+0x1a8/0x272 lib/dump_stack.c:52
 panic+0x21e/0x4b7 kernel/panic.c:183
 __warn.cold.6+0x182/0x187 kernel/panic.c:546
 report_bug+0x232/0x330 lib/bug.c:183
 fixup_bug+0x3f/0x90 arch/x86/kernel/traps.c:177
 do_trap_no_signal arch/x86/kernel/traps.c:211 [inline]
 do_trap+0x132/0x280 arch/x86/kernel/traps.c:260
 do_error_trap+0x11f/0x390 arch/x86/kernel/traps.c:297
 do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:310
 invalid_op+0x18/0x20 arch/x86/entry/entry_64.S:905
RIP: 0010:skb_warn_bad_offload.cold.139+0x224/0x261 net/core/dev.c:2613
RSP: 0018:880064797038 EFLAGS: 00010286
RAX: 006f RBX: 88006365efe8 RCX: 
RDX: 006f RSI: 815c88c1 RDI: ed000c8f2dfd
RBP: 880064797090 R08: 8800686f86c0 R09: 0002
R10: 8800686f86c0 R11:  R12: 8800538b1680
R13:  R14: 8800538b1680 R15: 2111
 __skb_gso_segment+0x69e/0x860 net/core/dev.c:2824
 skb_gso_segment include/linux/netdevice.h:3971 [inline]
 validate_xmit_skb+0x29f/0xca0 net/core/dev.c:3074
 validate_xmit_skb_list+0xb7/0x120 net/core/dev.c:3125
 sch_direct_xmit+0x5b5/0x710 net/sched/sch_generic.c:181
 __dev_xmit_skb net/core/dev.c:3206 [inline]
 __dev_queue_xmit+0x1e41/0x2350 net/core/dev.c:3473
 dev_queue_xmit+0x17/0x20 net/core/dev.c:3538
 packet_snd net/packet/af_packet.c:2956 [inline]
 packet_sendmsg+0x487a/0x64b0 net/packet/af_packet.c:2981
 sock_sendmsg_nosec net/socket.c:632 [inline]
 sock_sendmsg+0xd2/0x120 net/socket.c:642
 ___sys_sendmsg+0x7cc/0x900 net/socket.c:2048
 __sys_sendmsg+0xe6/0x220 net/socket.c:2082
 SYSC_sendmsg net/socket.c:2093 [inline]
 SyS_sendmsg+0x36/0x60 net/socket.c:2089
 entry_SYSCALL_64_fastpath+0x1f/0xbe
RIP: 0033:0x44bab9
RSP: 002b:007eff18 EFLAGS: 0246 ORIG_RAX: 002e
RAX: ffda RBX: 20001046 RCX: 0044bab9
RDX: 4010 RSI: 207fcfc8 RDI: 0004
RBP: 0086 R08: 850b2da14d2a3706 R09: 
R10: 1b91126b7f398aaa R11: 0246 R12: 
R13: 00407950 R14: 004079e0 R15: 





> [ cut here ]
> WARNING: CPU: 0 PID: 2986 at net/core/dev.c:2585
> skb_warn_bad_offload+0x2a9/0x380 net/core/dev.c:2580
> Kernel panic - not syncing: panic_on_warn set ...
>
> CPU: 0 PID: 2986 Comm: syzkaller546001 Not tainted 4.13.0-mm1+ #7
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
> Google 01/01/2011
> Call Trace:
>  __dump_stack lib/dump_stack.c:16 [inline]
>  dump_stack+0x194/0x257 lib/dump_stack.c:52
>  panic+0x1e4/0x417 kernel/panic.c:181
>  __warn+0x1c4/0x1d9 kernel/panic.c:542
>  report_bug+0x211/0x2d0 lib/bug.c:183
>  fixup_bug+0x40/0x90 arch/x86/kernel/traps.c:178
>  do_trap_no_signal arch/x86/kernel/traps.c:212 [inline]
>  do_trap+0x260/0x390 arch/x86/kernel/traps.c:261
>  do_error_trap+0x120/0x390 arch/x86/kernel/traps.c:298
>  do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:311
>  invalid_op+0x18/0x20 arch/x86/entry/entry_64.S:905
> RIP: 0010:skb_warn_bad_offload+0x2a9/0x380 net/core/dev.c:2580
> RSP: 0018:8801ce73f0a0 EFLAGS: 00010282
> RAX: 006f RBX: 8801cd84cde0 RCX: 
> RDX: 006f RSI: 110039ce7dd4 RDI: ed0039ce7e08
> RBP: 8801ce73f0f8 R08: 8801ce73e790 R09: 
> R10:  R11:  R12: 8801ce7802c0
> R13:  R14: 8801ce7802c0 R15: 2111
>  __skb_gso_segment+0x607/0x7f0 net/core/dev.c:2791
>  skb_gso_segment include/linux/netdevice.h:3951 [inline]
>  validate_xmit_skb+0x4ba/0xb20 net/core/dev.c:3041
>  validate_xmit_skb_list+0xb7/0x120 net/core/dev.c:3092
>  sch_direct_xmit+0x3b6/0x6d0 net/sched/sch_generic.c:181
>  __dev_xmit_skb net/core/dev.c:3173 [inline]
>  __dev_queue_xmit+0x15fe/0x1e40 net/core/dev.c:3440
>  dev_queue_xmit+0x17/0x20 net/core/de

Re: WARNING in skb_warn_bad_offload

2017-09-10 Thread Michal Kubecek
On Mon, Sep 11, 2017 at 12:20:32PM +0800, Dison River wrote:
> I found a warning while fuzzing with Syzkaller on linux 4.13-rc6 on
> x86_64. The full stack trace is below:
> 
> [ cut here ]
> WARNING: CPU: 3 PID: 32413 at net/core/dev.c:2592
> skb_warn_bad_offload+0x2a9/0x380 net/core/dev.c:2587
> Kernel panic - not syncing: panic_on_warn set ...
> 
> CPU: 3 PID: 32413 Comm: syz-executor3 Not tainted 4.13.0-rc6+ #1
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
> Call Trace:

Are you sure you didn't omit something? This WARN() check should write
some useful information but I can't see it in your mail:

WARN(1, "%s: caps=(%pNF, %pNF) len=%d data_len=%d gso_size=%d "
 "gso_type=%d ip_summed=%d\n",
 name, dev ? &dev->features : &null_features,
 skb->sk ? &skb->sk->sk_route_caps : &null_features,
 skb->len, skb->data_len, skb_shinfo(skb)->gso_size,
 skb_shinfo(skb)->gso_type, skb->ip_summed);

Michal Kubecek