1. 13 May, 2014 18 commits
  2. 12 May, 2014 15 commits
  3. 09 May, 2014 7 commits
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · 1448eb56
      David S. Miller authored
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-05-08
      
      This one is all from Johannes:
      
      "Here are a few small fixes for the current cycle: radiotap TX flags were
      wrong (fix by Bob), Chun-Yeow fixes an SMPS issue with mesh interfaces,
      Eliad fixes a locking bug and a cfg80211 state problem and finally
      Henning sent me a fix for IBSS rate information."
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1448eb56
    • David S. Miller's avatar
      Merge branch 'sctp_sysctl' · 05ab2dae
      David S. Miller authored
      Wang Weidong says:
      
      ====================
      sctp: fix kfree static array pointer in sctp_sysctl_net_unregister
      
      patch #1 revert the efb842c4("sctp: optimize the sctp_sysctl_net_register")
      patch #2 add a checking for sctp_sysctl_net_register
      ====================
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      05ab2dae
    • wangweidong's avatar
      sctp: add a checking for sctp_sysctl_net_register · f66138c8
      wangweidong authored
      When register_net_sysctl failed, we should free the
      sysctl_table.
      Signed-off-by: default avatarWang Weidong <wangweidong1@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f66138c8
    • wangweidong's avatar
      Revert "sctp: optimize the sctp_sysctl_net_register" · eb9f3705
      wangweidong authored
      This revert commit efb842c4("sctp: optimize the sctp_sysctl_net_register"),
      Since it doesn't kmemdup a sysctl_table for init_net, so the
      init_net->sctp.sysctl_header->ctl_table_arg points to sctp_net_table
      which is a static array pointer. So when doing sctp_sysctl_net_unregister,
      it will free sctp_net_table, then we will get a NULL pointer dereference
      like that:
      
      [  262.948220] BUG: unable to handle kernel NULL pointer dereference at 000000000000006c
      [  262.948232] IP: [<ffffffff81144b70>] kfree+0x80/0x420
      [  262.948260] PGD db80a067 PUD dae12067 PMD 0
      [  262.948268] Oops: 0000 [#1] SMP
      [  262.948273] Modules linked in: sctp(-) crc32c_generic libcrc32c
      ...
      [  262.948338] task: ffff8800db830190 ti: ffff8800dad00000 task.ti: ffff8800dad00000
      [  262.948344] RIP: 0010:[<ffffffff81144b70>]  [<ffffffff81144b70>] kfree+0x80/0x420
      [  262.948353] RSP: 0018:ffff8800dad01d88  EFLAGS: 00010046
      [  262.948358] RAX: 0100000000000000 RBX: ffffffffa0227940 RCX: ffffea0000707888
      [  262.948363] RDX: ffffea0000707888 RSI: 0000000000000001 RDI: ffffffffa0227940
      [  262.948369] RBP: ffff8800dad01de8 R08: 0000000000000000 R09: ffff8800d9e983a9
      [  262.948374] R10: 0000000000000000 R11: 0000000000000000 R12: ffffffffa0227940
      [  262.948380] R13: ffffffff8187cfc0 R14: 0000000000000000 R15: ffffffff8187da10
      [  262.948386] FS:  00007fa2a2658700(0000) GS:ffff880112800000(0000) knlGS:0000000000000000
      [  262.948394] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [  262.948400] CR2: 000000000000006c CR3: 00000000cddc0000 CR4: 00000000000006e0
      [  262.948410] Stack:
      [  262.948413]  ffff8800dad01da8 0000000000000286 0000000020227940 ffffffffa0227940
      [  262.948422]  ffff8800dad01dd8 ffffffff811b7fa1 ffffffffa0227940 ffffffffa0227940
      [  262.948431]  ffffffff8187d960 ffffffff8187cfc0 ffffffff8187d960 ffffffff8187da10
      [  262.948440] Call Trace:
      [  262.948457]  [<ffffffff811b7fa1>] ? unregister_sysctl_table+0x51/0xa0
      [  262.948476]  [<ffffffffa020d1a1>] sctp_sysctl_net_unregister+0x21/0x30 [sctp]
      [  262.948490]  [<ffffffffa020ef6d>] sctp_net_exit+0x12d/0x150 [sctp]
      [  262.948512]  [<ffffffff81394f49>] ops_exit_list+0x39/0x60
      [  262.948522]  [<ffffffff813951ed>] unregister_pernet_operations+0x3d/0x70
      [  262.948530]  [<ffffffff81395292>] unregister_pernet_subsys+0x22/0x40
      [  262.948544]  [<ffffffffa020efcc>] sctp_exit+0x3c/0x12d [sctp]
      [  262.948562]  [<ffffffff810c5e04>] SyS_delete_module+0x194/0x210
      [  262.948577]  [<ffffffff81240fde>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [  262.948587]  [<ffffffff815217a2>] system_call_fastpath+0x16/0x1b
      
      With this revert, it won't occur the Oops.
      Signed-off-by: default avatarWang Weidong <wangweidong1@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb9f3705
    • Arnd Bergmann's avatar
      mdio_bus: fix devm_mdiobus_alloc_size export · 93dccc59
      Arnd Bergmann authored
      commit 6d48f44b "mdio_bus: implement devm_mdiobus_alloc/devm_mdiobus_free"
      introduced a new function devm_mdiobus_alloc_size() but added an export
      for a different function devm_mdiobus_alloc(), which was obviously
      a simple mistake that leads to  build error whenever this function is
      used from a loadable module:
      
      ERROR: "devm_mdiobus_alloc_size" [drivers/net/ethernet/ti/davinci_mdio.ko] undefined!
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Grygorii Strashko <grygorii.strashko@ti.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Cc: Lad, Prabhakar <prabhakar.csengg@gmail.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      Acked-by: default avatarLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      93dccc59
    • Emil Goode's avatar
      net: cassini: use nested lock annotation · a9de0500
      Emil Goode authored
      In the cas_lock_tx function we acquire multiple locks in a loop and
      need to use nested lock annotation to prevent lockdep warnings.
      Reported-by: default avatarMeelis Roos <mroos@linux.ee>
      Signed-off-by: default avatarEmil Goode <emilgoode@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a9de0500
    • Nikolay Aleksandrov's avatar
      bonding: make a generic sysfs option store and fix comments · dc3e5d18
      Nikolay Aleksandrov authored
      Introduce a generic option store function for sysfs and remove the
      specific ones. The attribute name is used to match against the option
      which is to be set.
      Also adjust the "name" of tlb_dynamic_lb option to match the sysfs
      entry and fix the comments and comment style in bond_sysfs.c
      The comments which showed obvious behaviour (i.e. behaviour that's seen
      in the option's entry) are removed, the ones that explained important
      points about the setting function have been moved above the respective
      set function in bond_options.c
      
      There's only 1 exception: num_unsol_na/num_grat_arp since it has 2 names
      
      CC: Jay Vosburgh <j.vosburgh@gmail.com>
      CC: Veaceslav Falico <vfalico@gmail.com>
      CC: Andy Gospodarek <andy@greyhouse.net>
      CC: David S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dc3e5d18