• WANG Cong's avatar
    vrf: fix a kernel warning · 0a15afd2
    WANG Cong authored
    This fixes:
    
     tried to remove device ip6gre0 from (null)
     ------------[ cut here ]------------
     kernel BUG at net/core/dev.c:5219!
     invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC
     CPU: 3 PID: 161 Comm: kworker/u8:2 Not tainted 4.3.0-rc2+ #1142
     Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
     Workqueue: netns cleanup_net
     task: ffff8800d784a9c0 ti: ffff8800d74a4000 task.ti: ffff8800d74a4000
     RIP: 0010:[<ffffffff817f0797>]  [<ffffffff817f0797>] __netdev_adjacent_dev_remove+0x40/0xec
     RSP: 0018:ffff8800d74a7a98  EFLAGS: 00010282
     RAX: 000000000000002a RBX: 0000000000000000 RCX: 0000000000000000
     RDX: ffff88011adcf701 RSI: ffff88011adccbf8 RDI: ffff88011adccbf8
     RBP: ffff8800d74a7ab8 R08: 0000000000000001 R09: 0000000000000000
     R10: ffffffff81d190ff R11: 00000000ffffffff R12: ffff8800d599e7c0
     R13: 0000000000000000 R14: ffff8800d599e890 R15: ffffffff82385e00
     FS:  0000000000000000(0000) GS:ffff88011ac00000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
     CR2: 00007ffd6f003000 CR3: 000000000220c000 CR4: 00000000000006e0
     Stack:
      0000000000000000 ffff8800d599e7c0 0000000000000b00 ffff8800d599e8a0
      ffff8800d74a7ad8 ffffffff817f0861 0000000000000000 ffff8800d599e7c0
      ffff8800d74a7af8 ffffffff817f088f 0000000000000000 ffff8800d599e7c0
     Call Trace:
      [<ffffffff817f0861>] __netdev_adjacent_dev_unlink+0x1e/0x35
      [<ffffffff817f088f>] __netdev_adjacent_dev_unlink_neighbour+0x17/0x41
      [<ffffffff817f56e6>] netdev_upper_dev_unlink+0x6c/0x13d
      [<ffffffff81674a3d>] vrf_del_slave+0x26/0x7d
      [<ffffffff81674ac3>] vrf_device_event+0x2f/0x34
      [<ffffffff81098c40>] notifier_call_chain+0x75/0x9c
      [<ffffffff81098fa2>] raw_notifier_call_chain+0x14/0x16
      [<ffffffff817ee129>] call_netdevice_notifiers_info+0x52/0x59
      [<ffffffff817f179d>] call_netdevice_notifiers+0x13/0x15
      [<ffffffff817f6f18>] rollback_registered_many+0x14f/0x24f
      [<ffffffff817f70f2>] unregister_netdevice_many+0x19/0x64
      [<ffffffff819a2455>] ip6gre_exit_net+0x163/0x177
      [<ffffffff817eb019>] ops_exit_list+0x44/0x55
      [<ffffffff817ebcb7>] cleanup_net+0x193/0x226
      [<ffffffff81091e1c>] process_one_work+0x26c/0x4d8
      [<ffffffff81091d20>] ? process_one_work+0x170/0x4d8
      [<ffffffff81092296>] worker_thread+0x1df/0x2c2
      [<ffffffff810920b7>] ? process_scheduled_works+0x2f/0x2f
      [<ffffffff810920b7>] ? process_scheduled_works+0x2f/0x2f
      [<ffffffff81097a20>] kthread+0xd4/0xdc
      [<ffffffff810bc523>] ? trace_hardirqs_on_caller+0x17d/0x199
      [<ffffffff8109794c>] ? __kthread_parkme+0x83/0x83
      [<ffffffff81a5240f>] ret_from_fork+0x3f/0x70
      [<ffffffff8109794c>] ? __kthread_parkme+0x83/0x83
    
    Fixes: 93a7e7e8 ("net: Remove the now unused vrf_ptr")
    Cc: David Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
    Acked-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0a15afd2
vrf.c 16.4 KB