1. 19 Aug, 2010 8 commits
    • Robert Jennings's avatar
      ibmveth: Fix opps during MTU change on an active device · 0645bab7
      Robert Jennings authored
      This fixes the following opps which can occur when trying to deallocate
      receive buffer pools when changing the MTU of an active ibmveth device.
      
      Oops: Kernel access of bad area, sig: 11 [#1]
      NIP: d000000004db00e8 LR: d000000004db00ac CTR: 0000000000591038
      REGS: c00000007fff39d0 TRAP: 0300   Not tainted  (2.6.36-rc1)
      MSR: 8000000000009032 <EE,ME,IR,DR>  CR: 22248244  XER: 00000002
      DAR: 0000000000000488, DSISR: 0000000042000000
      TASK = c00000007c463790[6531] 'netserver' THREAD: c00000007a154000 CPU: 0
      GPR00: 0000000000000000 c00000007fff3c50 d000000004dbd360 0000000000000001
      GPR04: 0000000000000001 1fffffffffffffff 000000000000043c c00000007a8e9f60
      GPR08: c00000007a8e9e20 0000000000000245 0000000000000488 0000000000000000
      GPR12: 00000000000000c0 c000000006d70000 c00000007bfec098 c00000007bfebc2c
      GPR16: c00000007a157c78 0000000000000000 0000000000000001 0000000000000000
      GPR20: 0000000000000001 0000000000000010 c000000000b51180 c00000007a8e9d90
      GPR24: c00000007a8e9da0 c00000007a8e9580 00000000000005ea 00000000000002ff
      GPR28: 0000000000000004 0000000000000080 c000000000a946f8 c00000007a8e9d80
      NIP [d000000004db00e8] .ibmveth_remove_buffer_from_pool+0xe8/0x130 [ibmveth]
      LR [d000000004db00ac] .ibmveth_remove_buffer_from_pool+0xac/0x130 [ibmveth]
      Call Trace:
      [c00000007fff3c50] [d000000004db00ac] .ibmveth_remove_buffer_from_pool+0xac/0x130 [ibmveth] (unreliable)
      [c00000007fff3cf0] [d000000004db31dc] .ibmveth_poll+0x30c/0x460 [ibmveth]
      [c00000007fff3dd0] [c00000000042c4b8] .net_rx_action+0x178/0x278
      [c00000007fff3eb0] [c000000000093cf0] .__do_softirq+0x118/0x1f8
      [c00000007fff3f90] [c00000000002ab3c] .call_do_softirq+0x14/0x24
      [c00000007a157600] [c00000000000e3e4] .do_softirq+0xec/0x110
      [c00000007a1576a0] [c000000000093394] .local_bh_enable_ip+0xb4/0xe0
      [c00000007a157720] [c0000000004f0bac] ._raw_spin_unlock_bh+0x3c/0x50
      [c00000007a157790] [c0000000004186e0] .release_sock+0x158/0x188
      [c00000007a157840] [c000000000479660] .tcp_recvmsg+0x560/0x9b8
      [c00000007a157970] [c0000000004a0d78] .inet_recvmsg+0x80/0xd8
      [c00000007a157a00] [c000000000413e28] .sock_recvmsg+0x128/0x178
      [c00000007a157bf0] [c0000000004164ac] .SyS_recvfrom+0xb4/0x148
      [c00000007a157d70] [c000000000411f3c] .SyS_socketcall+0x274/0x360
      [c00000007a157e30] [c0000000000085b4] syscall_exit+0x0/0x40
      Reported-by: default avatarRafael Camarda Silva Folco <rfolco@linux.vnet.ibm.com>
      Signed-off-by: default avatarRobert Jennings <rcj@linux.vnet.ibm.com>
      Acked-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0645bab7
    • Andre Detsch's avatar
      ehea: Fix synchronization between HW and SW send queue · 2928db4c
      Andre Detsch authored
      ehea: Fix synchronization between HW and SW send queue
      
      When memory is added to / removed from a partition via the Memory DLPAR
      mechanism, the eHEA driver has to do a couple of things to reflect the
      memory change in its own IO address translation tables. This involves
      stopping and restarting the HW queues.
      During this operation, it is possible that HW and SW pointer into these
      queues get out of sync. This results in a situation where packets that
      are attached to a send queue are not transmitted immediately, but
      delayed until further X packets have been put on the queue.
      
      This patch detects such loss of synchronization, and resets the ehea
      port when needed.
      Signed-off-by: default avatarJan-Bernd Themann <themann@de.ibm.com>
      Signed-off-by: default avatarAndre Detsch <adetsch@br.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2928db4c
    • Yaniv Rosner's avatar
      bnx2x: Update bnx2x version to 1.52.53-4 · 96ac4f6b
      Yaniv Rosner authored
      Update bnx2x version to 1.52.53-4
      Signed-off-by: default avatarYaniv Rosner <yanivr@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      96ac4f6b
    • Yaniv Rosner's avatar
      bnx2x: Fix PHY locking problem · 3971a230
      Yaniv Rosner authored
      PHY locking is required between two ports for some external PHYs. Since
      initialization was done in the common init function (called only on the
      first port initialization) rather than in the port init function, there
      was in fact no PHY locking between the ports.
      Signed-off-by: default avatarYaniv Rosner <yanivr@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3971a230
    • Eric Dumazet's avatar
      rds: fix a leak of kernel memory · f037590f
      Eric Dumazet authored
      struct rds_rdma_notify contains a 32 bits hole on 64bit arches,
      make sure it is zeroed before copying it to user.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      CC: Andy Grover <andy.grover@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f037590f
    • Johannes Berg's avatar
      netlink: fix compat recvmsg · 68d6ac6d
      Johannes Berg authored
      Since
      commit 1dacc76d
      Author: Johannes Berg <johannes@sipsolutions.net>
      Date:   Wed Jul 1 11:26:02 2009 +0000
      
          net/compat/wext: send different messages to compat tasks
      
      we had a race condition when setting and then
      restoring frag_list. Eric attempted to fix it,
      but the fix created even worse problems.
      
      However, the original motivation I had when I
      added the code that turned out to be racy is
      no longer clear to me, since we only copy up
      to skb->len to userspace, which doesn't include
      the frag_list length. As a result, not doing
      any frag_list clearing and restoring avoids
      the race condition, while not introducing any
      other problems.
      
      Additionally, while preparing this patch I found
      that since none of the remaining netlink code is
      really aware of the frag_list, we need to use the
      original skb's information for packet information
      and credentials. This fixes, for example, the
      group information received by compat tasks.
      
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: stable@kernel.org [2.6.31+, for 2.6.35 revert 1235f504]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      68d6ac6d
    • Sam Ravnborg's avatar
      netfilter: fix userspace header warning · e243f5b6
      Sam Ravnborg authored
      "make headers_check" issued the following warning:
      
        CHECK   include/linux/netfilter (64 files)
      usr/include/linux/netfilter/xt_ipvs.h:19: found __[us]{8,16,32,64} type without #include <linux/types.h>
      
      Fix this by as suggested including linux/types.h.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e243f5b6
    • Sachin Sanap's avatar
      a49f37ee
  2. 18 Aug, 2010 1 commit
  3. 17 Aug, 2010 2 commits
  4. 16 Aug, 2010 2 commits
  5. 15 Aug, 2010 2 commits
  6. 13 Aug, 2010 4 commits
  7. 12 Aug, 2010 3 commits
    • Ursula Braun's avatar
      ctcm: rename READ/WRITE defines to avoid redefinitions · 3c09e264
      Ursula Braun authored
      READ/WRITE seems to be a bit too generic for defines in a device
      driver. Just rename them to CTCM_READ/CTCM_WRITE to avoid warnings.
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3c09e264
    • Heiko Carstens's avatar
      claw: rename READ/WRITE defines to avoid redefinitions · 319cb083
      Heiko Carstens authored
      READ/WRITE seems to be a bit too generic for defines in a device driver.
      Just rename them to READ_CHANNEL/WRITE_CHANNEL which should suffice.
      
      Fixes this:
      
      In file included from drivers/s390/net/claw.c:93:
      drivers/s390/net/claw.h:78:1: warning: "WRITE" redefined
      In file included from /home2/heicarst/linux-2.6/arch/s390/include/asm/debug.h:12,
                       from drivers/s390/net/claw.c:68:
      include/linux/fs.h:156:1: warning: this is the location of the previous definition
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      319cb083
    • Randy Dunlap's avatar
      phylib: available for any speed ethernet · cba86f2e
      Randy Dunlap authored
      Several gigabit network drivers (SB1250_MAC, TIGON3, FSL, GIANFAR,
      UCC_GETH, MV643XX_ETH, XILINX_LL_TEMAC, S6GMAC, STMMAC_ETH, PASEMI_MAC,
      and OCTEON_ETHERNET) select PHYLIB.  These drivers are not under
      NET_ETHERNET (10/100 mbit), so this warning is generated (long, irrelevant
      parts are omitted):
      
      warning: (NET_DSA && NET && EXPERIMENTAL && NET_ETHERNET && !S390 || ... || SB1250_MAC && NETDEVICES && NETDEV_1000 && SIBYTE_SB1xxx_SOC || TIGON3 && NETDEVICES && NETDEV_1000 && PCI || FSL_PQ_MDIO && NETDEVICES && NETDEV_1000 && FSL_SOC || GIANFAR && NETDEVICES && NETDEV_1000 && FSL_SOC || UCC_GETH && NETDEVICES && NETDEV_1000 && QUICC_ENGINE || MV643XX_ETH && NETDEVICES && NETDEV_1000 && (MV64X60 || PPC32 || PLAT_ORION) || XILINX_LL_TEMAC && NETDEVICES && NETDEV_1000 && (PPC || MICROBLAZE) || S6GMAC && NETDEVICES && NETDEV_1000 && XTENSA_VARIANT_S6000 || STMMAC_ETH && NETDEV_1000 && NETDEVICES && CPU_SUBTYPE_ST40 || PASEMI_MAC && NETDEVICES && NETDEV_10000 && PPC_PASEMI && PCI || OCTEON_ETHERNET && STAGING && !STAGING_EXCLUDE_BUILD && CPU_CAVIUM_OCTEON) selects PHYLIB which has unmet direct dependencies (!S390 && NET_ETHERNET)
      
      PHYLIB is used by non-10/100 mbit ethernet drivers, so change the dependencies
      to be NETDEVICES instead of NET_ETHERNET.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cba86f2e
  8. 11 Aug, 2010 5 commits
    • Oliver Hartkopp's avatar
      can: add limit for nframes and clean up signed/unsigned variables · 5b75c497
      Oliver Hartkopp authored
      This patch adds a limit for nframes as the number of frames in TX_SETUP and
      RX_SETUP are derived from a single byte multiplex value by default.
      Use-cases that would require to send/filter more than 256 CAN frames should
      be implemented in userspace for complexity reasons anyway.
      
      Additionally the assignments of unsigned values from userspace to signed
      values in kernelspace and vice versa are fixed by using unsigned values in
      kernelspace consistently.
      Signed-off-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
      Reported-by: default avatarBen Hawkes <hawkes@google.com>
      Acked-by: default avatarUrs Thuermann <urs.thuermann@volkswagen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5b75c497
    • Rajkumar Manoharan's avatar
      ath9k_htc: fix panic on packet injection using airbase-ng tool. · da93f106
      Rajkumar Manoharan authored
      This should fix the oops which occurs during the packet injection
      on monitor interface.
      
      EIP is at ath9k_htc_tx_start+0x69/0x220 [ath9k_htc]
       [<f84dc8ea>] ? invoke_tx_handlers+0xa5a/0xee0 [mac80211]
       [<f82c84f4>] ? ath9k_htc_tx+0x44/0xe0 [ath9k_htc]
       [<f84db7b8>] ? __ieee80211_tx+0xf8/0x190 [mac80211]
       [<f84dce0d>] ? ieee80211_tx+0x9d/0x1a0 [mac80211]
       [<f84dcfac>] ? ieee80211_xmit+0x9c/0x1c0 [mac80211]
       [<f84dd1b5>] ? ieee80211_monitor_start_xmit+0x85/0xb0 [mac80211]
       [<c04c30cd>] ? dev_hard_start_xmit+0x1ad/0x210
       [<c04b97c2>] ? __alloc_skb+0x52/0x130
       [<c04d7cd5>] ? sch_direct_xmit+0x105/0x170
       [<c04c5e9f>] ? dev_queue_xmit+0x37f/0x4b0
       [<c0567e1e>] ? packet_snd+0x21e/0x250
       [<c05684a2>] ? packet_sendmsg+0x32/0x40
       [<c04b4c63>] ? sock_aio_write+0x113/0x130
       [<c0207934>] ? do_sync_write+0xc4/0x100
       [<c0167740>] ? autoremove_wake_function+0x0/0x50
       [<c02f4414>] ? security_file_permission+0x14/0x20
       [<c0207ad4>] ? rw_verify_area+0x64/0xe0
       [<c01e6458>] ? handle_mm_fault+0x338/0x390
       [<c0207cd5>] ? vfs_write+0x185/0x1a0
       [<c058db20>] ? do_page_fault+0x160/0x3a0
       [<c0208512>] ? sys_write+0x42/0x70
       [<c01033ec>] ? syscall_call+0x7/0xb
      Signed-off-by: default avatarRajkumar Manoharan <rmanoharan@atheros.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      da93f106
    • John W. Linville's avatar
      ipw2100: register pm_qos request before registering pci driver · 2f81b471
      John W. Linville authored
      It is necessary to call pm_qos_add_request prior to calling
      pm_qos_update_request.  It was revealed that ipw2100 has been
      doing this wrong since "pm_qos: Get rid of the allocation in
      pm_qos_add_request()" (commit 82f68251)
      added a WARN that results in the following backtrace:
      
      WARNING: at kernel/pm_qos_params.c:264 pm_qos_update_request+0x5e/0x70()
      pm_qos_update_request() called for unknown object
      Call Trace:
      [<c1024088>] ? warn_slowpath_common+0x78/0xb0
      [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
      [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
      [<c1024153>] ? warn_slowpath_fmt+0x33/0x40
      [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
      [<f89fe15f>] ? ipw2100_up+0x3f/0xf10 [ipw2100]
      [<c11961c9>] ? vsnprintf+0xc9/0x530
      [<f89ff36c>] ? ipw2100_net_init+0x2c/0x1c0 [ipw2100]
      [<c12f542d>] ? register_netdevice+0x7d/0x3c0
      [<f89f9b00>] ? ipw2100_irq_tasklet+0x910/0x9a0 [ipw2100]
      [<c12f579f>] ? register_netdev+0x2f/0x40
      [<f89fd471>] ? ipw2100_pci_init_one+0xd21/0x1060 [ipw2100]
      [<c11a5ebb>] ? local_pci_probe+0xb/0x10
      [<c11a6d49>] ? pci_device_probe+0x69/0x90
      [<c1224704>] ? driver_probe_device+0x74/0x180
      [<c10dd15a>] ? sysfs_create_dir+0x6a/0xb0
      [<c1224889>] ? __driver_attach+0x79/0x80
      [<c1224810>] ? __driver_attach+0x0/0x80
      [<c1223fa2>] ? bus_for_each_dev+0x52/0x80
      [<c1224586>] ? driver_attach+0x16/0x20
      [<c1224810>] ? __driver_attach+0x0/0x80
      [<c122395f>] ? bus_add_driver+0x17f/0x250
      [<c11a5ec0>] ? pci_device_shutdown+0x0/0x20
      [<c11a6c80>] ? pci_device_remove+0x0/0x40
      [<c1224b13>] ? driver_register+0x63/0x120
      [<c11a6f96>] ? __pci_register_driver+0x36/0xa0
      [<f84f9048>] ? ipw2100_init+0x48/0x67 [ipw2100]
      [<c1001122>] ? do_one_initcall+0x32/0x170
      [<c1087078>] ? __vunmap+0xb8/0xf0
      [<f84f9000>] ? ipw2100_init+0x0/0x67 [ipw2100]
      [<c10510c1>] ? sys_init_module+0x161/0x1000
      [<c108f847>] ? sys_close+0x67/0xe0
      [<c13647c1>] ? syscall_call+0x7/0xb
      
      This patch moves pm_qos_add_request prior to pci_register_driver in
      ipw2100 in order to avoid this problem.
      Reported-by: default avatarChristoph Fritz <chf.fritz@googlemail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2f81b471
    • Jarek Poplawski's avatar
      pkt_sched: Check .walk and .leaf class handlers · 3e9e5a59
      Jarek Poplawski authored
      Require qdisc class ops .walk and .leaf for classful qdisc in
      register_qdisc(). The checks could be done later insted, but these
      ops are really needed and used by most of classful qdiscs.
      Signed-off-by: default avatarJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3e9e5a59
    • Jarek Poplawski's avatar
      pkt_sched: Fix sch_sfq vs tc_modify_qdisc oops · 41065fba
      Jarek Poplawski authored
      sch_sfq as a classful qdisc needs the .leaf handler. Otherwise, there
      is an oops possible in tc_modify_qdisc()/check_loop().
      
      Fixes commit 7d2681a6Signed-off-by: default avatarJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41065fba
  9. 10 Aug, 2010 13 commits