1. 06 9月, 2013 1 次提交
    • P
      vxlan: Fix kernel panic on device delete. · f011baf9
      Pravin B Shelar 提交于
      On vxlan device create if socket create fails vxlan device is not
      added to hash table. Therefore we need to check if device
      is in hashtable before we delete it from hlist.
      Following patch avoid the crash. net-next already has this fix.
      
      ---8<---
      BUG: unable to handle kernel NULL pointer dereference at           (null)
      IP: [<ffffffffa05f9ca7>] vxlan_dellink+0x77/0xf0 [vxlan]
      PGD 42b2d9067 PUD 42e04c067 PMD 0
      Oops: 0002 [#1] SMP
      Modules linked in: vxlan(-)
      Hardware name: Dell Inc. PowerEdge R620/0KCKR5, BIOS 1.4.8 10/25/2012
      task: ffff88042ecf8760 ti: ffff88042f106000 task.ti: ffff88042f106000
      RIP: 0010:[<ffffffffa05f9ca7>]  [<ffffffffa05f9ca7>]
      vxlan_dellink+0x77/0xf0 [vxlan]
      RSP: 0018:ffff88042f107e28  EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffff88082af08000 RCX: ffff88083fd80000
      RDX: 0000000000000000 RSI: ffff88042f107e58 RDI: ffff88042e12f810
      RBP: ffff88042f107e48 R08: ffffffff8166eca0 R09: 0000000000000000
      R10: 0000000000000001 R11: 0000000000000000 R12: ffff88082af087c0
      R13: ffff88042e12f000 R14: ffff88042f107e58 R15: ffff88042f107e58
      FS:  00007f4ed2de7700(0000) GS:ffff88043fc80000(0000)
      knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000000000 CR3: 000000042e076000 CR4: 00000000000407e0
      Stack:
       ffff88082af08000 ffffffff81654848 ffffffffa05fb4e0 ffffffff81654780
       ffff88042f107e98 ffffffff813b9c7a ffff88042f107e58 ffff88042f107e58
       ffff88042f107e88 ffffffffa05fb4e0 ffffffffa05fb780 ffff88042f107f18
      Call Trace:
       [<ffffffff813b9c7a>] __rtnl_link_unregister+0xca/0xd0
       [<ffffffff813bb0e9>] rtnl_link_unregister+0x19/0x30
       [<ffffffffa05faa4c>] vxlan_cleanup_module+0x10/0x2f [vxlan]
       [<ffffffff81099fef>] SyS_delete_module+0x1cf/0x2c0
       [<ffffffff8146c069>] ? do_page_fault+0x9/0x10
       [<ffffffff8146f012>] system_call_fastpath+0x16/0x1b
      Code: 4d 85 ed 0f 84 95 00 00 00 4c 8d a7 c0 07 00 00 49 8d bd 10 08 00
      00 e8 28 e8 e6 e0 48 8b 83 c0 07 00 00 49 8b 54 24 08 48 85 c0 <48> 89
      02 74 04 48 89 50 08 49 b8 00 02 20 00 00 00 ad de 4d 89
      RIP  [<ffffffffa05f9ca7>] vxlan_dellink+0x77/0xf0 [vxlan]
       RSP <ffff88042f107e28>
      CR2: 0000000000000000
      Signed-off-by: NPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f011baf9
  2. 10 8月, 2013 2 次提交
  3. 20 7月, 2013 2 次提交
  4. 18 7月, 2013 1 次提交
  5. 12 7月, 2013 1 次提交
    • P
      vxlan: Fix kernel crash on rmmod. · f89e57c4
      Pravin B Shelar 提交于
      vxlan exit module unregisters vxlan net and then it unregisters
      rtnl ops which triggers vxlan_dellink() from __rtnl_kill_links().
      vxlan_dellink() deletes vxlan-dev from vxlan_list which has
      list-head in vxlan-net-struct but that is already gone due to
      net-unregister. That is how we are getting following crash.
      
      Following commit fixes the crash by fixing module exit path.
      
      BUG: unable to handle kernel paging request at ffff8804102c8000
      IP: [<ffffffff812cc5e9>] __list_del_entry+0x29/0xd0
      PGD 2972067 PUD 83e019067 PMD 83df97067 PTE 80000004102c8060
      Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
      Modules linked in: ---
      CPU: 19 PID: 6712 Comm: rmmod Tainted: GF            3.10.0+ #95
      Hardware name: Dell Inc. PowerEdge R620/0KCKR5, BIOS 1.4.8 10/25/2012
      task: ffff88080c47c580 ti: ffff88080ac50000 task.ti: ffff88080ac50000
      RIP: 0010:[<ffffffff812cc5e9>]  [<ffffffff812cc5e9>]
      __list_del_entry+0x29/0xd0
      RSP: 0018:ffff88080ac51e08  EFLAGS: 00010206
      RAX: ffff8804102c8000 RBX: ffff88040f0d4b10 RCX: dead000000200200
      RDX: ffff8804102c8000 RSI: ffff88080ac51e58 RDI: ffff88040f0d4b10
      RBP: ffff88080ac51e08 R08: 0000000000000001 R09: 2222222222222222
      R10: 2222222222222222 R11: 2222222222222222 R12: ffff88080ac51e58
      R13: ffffffffa07b8840 R14: ffffffff81ae48c0 R15: ffff88080ac51e58
      FS:  00007f9ef105c700(0000) GS:ffff88082a800000(0000)
      knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: ffff8804102c8000 CR3: 00000008227e5000 CR4: 00000000000407e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Stack:
       ffff88080ac51e28 ffffffff812cc6a1 2222222222222222 ffff88040f0d4000
       ffff88080ac51e48 ffffffffa07b3311 ffff88040f0d4000 ffffffff81ae49c8
       ffff88080ac51e98 ffffffff81492fc2 ffff88080ac51e58 ffff88080ac51e58
      Call Trace:
       [<ffffffff812cc6a1>] list_del+0x11/0x40
       [<ffffffffa07b3311>] vxlan_dellink+0x51/0x70 [vxlan]
       [<ffffffff81492fc2>] __rtnl_link_unregister+0xa2/0xb0
       [<ffffffff8149448e>] rtnl_link_unregister+0x1e/0x30
       [<ffffffffa07b7b7c>] vxlan_cleanup_module+0x1c/0x2f [vxlan]
       [<ffffffff810c9b31>] SyS_delete_module+0x1d1/0x2c0
       [<ffffffff812b8a0e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
       [<ffffffff81582f42>] system_call_fastpath+0x16/0x1b
      Code: eb 9f 55 48 8b 17 48 b9 00 01 10 00 00 00 ad de 48 8b 47 08 48 89
      e5 48 39 ca 74 29 48 b9 00 02 20 00 00 00 ad de 48 39 c8 74 7a <4c> 8b
      00 4c 39 c7 75 53 4c 8b 42 08 4c 39 c7 75 2b 48 89 42 08
      RIP  [<ffffffff812cc5e9>] __list_del_entry+0x29/0xd0
       RSP <ffff88080ac51e08>
      CR2: ffff8804102c8000
      Signed-off-by: NPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f89e57c4
  6. 26 6月, 2013 7 次提交
  7. 24 6月, 2013 11 次提交
  8. 20 6月, 2013 1 次提交
  9. 19 6月, 2013 1 次提交
  10. 18 6月, 2013 3 次提交
  11. 29 5月, 2013 3 次提交
  12. 19 5月, 2013 1 次提交
  13. 18 5月, 2013 1 次提交
    • S
      vxlan: listen on multiple ports · 553675fb
      stephen hemminger 提交于
      The commit 823aa873
        Author: stephen hemminger <stephen@networkplumber.org>
        Date:   Sat Apr 27 11:31:57 2013 +0000
      
          vxlan: allow choosing destination port per vxlan
      
      introduced per-vxlan UDP port configuration but only did half of the
      necessary work.  It added per vxlan destination for sending, but
      overlooked the handling of multiple ports for incoming traffic.
      
      This patch changes the listening port management to handle multiple
      incoming UDP ports. The earlier per-namespace structure is now a hash
      list per namespace.
      
      It is also now possible to define the same virtual network id
      but with different UDP port values which can be useful for migration.
      Signed-off-by: NStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      553675fb
  14. 30 4月, 2013 1 次提交
  15. 29 4月, 2013 4 次提交