1. 15 Sep, 2011 17 commits
  2. 13 Sep, 2011 6 commits
    • Johannes Berg's avatar
      iwlagn: fix command queue timeout · 282cdb32
      Johannes Berg authored
      If the command queue is constantly busy,
      which can happen in P2P, the hangcheck
      timer will frequently find a command in
      it and will eventually reset the device
      because nothing sets the timestamp for
      this queue when commands are processed.
      
      Fix this by setting the timestamp when
      a command completes.
      
      Cc: stable@kernel.org #2.6.39, #3.0.0 #3.1.0
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      SIgned-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      282cdb32
    • Johannes Berg's avatar
      iwlagn: fix stack corruption · 456fc37e
      Johannes Berg authored
      Alexander reported a strange crash in iwlagn that
      Meenakshi and Wey couldn't reproduce. I just ran
      into the same issue and tracked it down to stack
      corruption. This fixes it.
      
      The problem was introduced in
      commit 4b8b99b6e650d0527f3a123744b7459976581d14
      Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
      Date:   Fri Jul 8 14:29:48 2011 -0700
      
          iwlagn: radio sensor offset in le16 format
      
      Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com>
      Cc: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
      Reported-by: default avatarAlexander Diewald <alex@diewald.cc>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      456fc37e
    • Mohammed Shafi Shajakhan's avatar
      ath9k: Fix kernel panic on unplugging the device · 6a6b3f3e
      Mohammed Shafi Shajakhan authored
      when the device is yanked out ath_pci_remove starts doing the cleanups,
      unregistering the hardware etc. so we should bail out immediately when
      we get drv_flush callback from mac80211 when the card is being unplugged.
      the panic occurs after we had associated to an AP.
      
      	EIP: 0060:[<fb315b00>] EFLAGS: 00010246 CPU: 0
      	EIP is at ath_reset+0xa0/0x1c0 [ath9k]
      	EAX: 00000000 EBX: 000697c0 ECX: 00000002 EDX: f3c3ccf0
      	ESI: 00000000 EDI: 00000000 EBP: f43e7b78 ESP: f43e7b50
       	DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
       	Process kworker/u:2 (pid: 182, ti=f43e6000 task=f3c3c7c0
      	task.ti=f43e6000)
       	Stack:
       	0000002a 00000000 00000000 003e7b78 0000000f eaaa8500
      	ffffffea eaaa97c0
       	eaaaa000 00000001 f43e7ba8 fb315d23 f99e7721 ecece680
      	eaaac738 eaaa8500
       	eaaaa020 000000c8 000000c8 00000000 eaaa8d58 eaaa8500
      	f43e7bd0 fb080b29
       	Call Trace:
      	[<fb315d23>] ath9k_flush+0x103/0x170 [ath9k]
      	[<fb080b29>] __ieee80211_recalc_idle+0x2c9/0x400
      	[mac80211]
      	[<fb080c8e>] ieee80211_recalc_idle+0x2e/0x60 [mac80211]
      	[<fb07aa73>] ieee80211_mgd_deauth+0x173/0x210 [mac80211]
      	[<fb084559>] ieee80211_deauth+0x19/0x20 [mac80211]
      	[<f99dda53>] __cfg80211_mlme_deauth+0xf3/0x140
      	[cfg80211]
      	[<c0633d00>] ? __mutex_lock_common+0x1f0/0x380
      	[<f99e1b5d>] __cfg80211_disconnect+0x18d/0x1f0
      	[cfg80211]
      	[<f99c8199>] cfg80211_netdev_notifier_call+0x159/0x5c0
      	[cfg80211]
      	[<c0608a64>] ? packet_notifier+0x174/0x1f0
      	[<c0639202>] notifier_call_chain+0x82/0xb0
      	[<c0170d8f>] raw_notifier_call_chain+0x1f/0x30
      	[<c053b86c>] call_netdevice_notifiers+0x2c/0x60
      	[<c0182184>] ? trace_hardirqs_on_caller+0xf4/0x180
      	[<c053b8ec>] __dev_close_many+0x4c/0xd0
      	[<c053ba2d>] dev_close_many+0x6d/0xc0
      	[<c053bb53>] rollback_registered_many+0x93/0x1c0
      	[<c018221b>] ? trace_hardirqs_on+0xb/0x10
      	[<c053bc95>] unregister_netdevice_many+0x15/0x50
      	[<fb07f83b>] ieee80211_remove_interfaces+0x7b/0xb0
      	[mac80211]
      	[<fb06a14b>] ieee80211_unregister_hw+0x4b/0x110
      	[mac80211]
      	[<fb311a4a>] ath9k_deinit_device+0x3a/0x60 [ath9k]
      	[<fb31eed6>] ath_pci_remove+0x46/0x90 [ath9k]
      	[<c03b4ac4>] pci_device_remove+0x44/0x100
      	[<c043eb54>] __device_release_driver+0x64/0xb0
      	[<c043ec67>] device_release_driver+0x27/0x40
      	[<c043deeb>] bus_remove_device+0x7b/0xa0
      	[<c043c491>] device_del+0xf1/0x180
      	[<c043c530>] device_unregister+0x10/0x20
      	[<c03afafe>] pci_stop_bus_device+0x6e/0x80
      	[<c03afb72>] pci_remove_bus_device+0x12/0xa0
      	[<c03c2f29>] pciehp_unconfigure_device+0x89/0x180
      	[<c0181e54>] ? mark_held_locks+0x64/0x100
      	[<c063390f>] ? __mutex_unlock_slowpath+0xaf/0x140
      	[<c03c1f84>] pciehp_disable_slot+0x64/0x1b0
      	[<c03c2850>] pciehp_power_thread+0xd0/0x100
      	[<c0164ad0>] ? process_one_work+0x100/0x4d0
      	[<c0164b4c>] process_one_work+0x17c/0x4d0
      	[<c0164ad0>] ? process_one_work+0x100/0x4d0
      	[<c03c2780>] ? queue_interrupt_event+0xa0/0xa0
      	[<c01662bb>] worker_thread+0x13b/0x320
      	[<c018221b>] ? trace_hardirqs_on+0xb/0x10
      	[<c0166180>] ? manage_workers+0x1e0/0x1e0
      	[<c016a654>] kthread+0x84/0x90
      	[<c016a5d0>] ? __init_kthread_worker+0x60/0x60
      	[<c063d106>] kernel_thread_helper+0x6/0x10
      
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6a6b3f3e
    • Johannes Berg's avatar
      mac80211: fix missing sta_lock in __sta_info_destroy · 4bae7d97
      Johannes Berg authored
      Since my commit 34e89507
      ("mac80211: allow station add/remove to sleep") there is
      a race in mac80211 when it clears the TIM bit because a
      sleeping station disconnected, the spinlock isn't held
      around the relevant code any more. Use the right API to
      acquire the spinlock correctly.
      
      Cc: stable@kernel.org [2.6.34+]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      4bae7d97
    • George's avatar
      rtlwifi: Fix problem when switching connections · bac2555c
      George authored
      The driver fails to clear encryption keys making it impossible
      to switch connections.
      Signed-off-by: default avatarGeorge <george0505@realtek.com>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@kernel.org>        [2.6.39+]
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bac2555c
    • George's avatar
      rtlwifi: rtl8192su: Fix problem connecting to HT-enabled AP · 3401dc6e
      George authored
      The driver fails to connect to 802.11n-enabled APs. The patch fixes
      Bug #42262.
      Signed-off-by: default avatarGeorge <george0505@realtek.com>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@kernel.org>        [2.6.39+]
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3401dc6e
  3. 30 Aug, 2011 1 commit
  4. 29 Aug, 2011 2 commits
  5. 26 Aug, 2011 7 commits
  6. 25 Aug, 2011 7 commits
    • Mathieu Desnoyers's avatar
      sendmmsg/sendmsg: fix unsafe user pointer access · bc909d9d
      Mathieu Desnoyers authored
      Dereferencing a user pointer directly from kernel-space without going
      through the copy_from_user family of functions is a bad idea. Two of
      such usages can be found in the sendmsg code path called from sendmmsg,
      added by
      
      commit c71d8ebe upstream.
      commit 5b47b803 in the 3.0-stable tree.
      
      Usages are performed through memcmp() and memcpy() directly. Fix those
      by using the already copied msg_sys structure instead of the __user *msg
      structure. Note that msg_sys can be set to NULL by verify_compat_iovec()
      or verify_iovec(), which requires additional NULL pointer checks.
      Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Signed-off-by: default avatarDavid Goulet <dgoulet@ev0ke.net>
      CC: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      CC: Anton Blanchard <anton@samba.org>
      CC: David S. Miller <davem@davemloft.net>
      CC: stable <stable@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bc909d9d
    • Anton Blanchard's avatar
      ibmveth: Fix leak when recycling skb and hypervisor returns error · c6f59d13
      Anton Blanchard authored
      If h_add_logical_lan_buffer returns an error we need to free
      the skb.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c6f59d13
    • Eric Dumazet's avatar
      arp: fix rcu lockdep splat in arp_process() · 20e6074e
      Eric Dumazet authored
      Dave Jones reported a lockdep splat triggered by an arp_process() call
      from parp_redo().
      
      Commit faa9dcf7 (arp: RCU changes) is the origin of the bug, since
      it assumed arp_process() was called under rcu_read_lock(), which is not
      true in this particular path.
      
      Instead of adding rcu_read_lock() in parp_redo(), I chose to add it in
      neigh_proxy_process() to take care of IPv6 side too.
      
       ===================================================
       [ INFO: suspicious rcu_dereference_check() usage. ]
       ---------------------------------------------------
       include/linux/inetdevice.h:209 invoked rcu_dereference_check() without
      protection!
      
       other info that might help us debug this:
      
       rcu_scheduler_active = 1, debug_locks = 0
       4 locks held by setfiles/2123:
        #0:  (&sb->s_type->i_mutex_key#13){+.+.+.}, at: [<ffffffff8114cbc4>]
      walk_component+0x1ef/0x3e8
        #1:  (&isec->lock){+.+.+.}, at: [<ffffffff81204bca>]
      inode_doinit_with_dentry+0x3f/0x41f
        #2:  (&tbl->proxy_timer){+.-...}, at: [<ffffffff8106a803>]
      run_timer_softirq+0x157/0x372
        #3:  (class){+.-...}, at: [<ffffffff8141f256>] neigh_proxy_process
      +0x36/0x103
      
       stack backtrace:
       Pid: 2123, comm: setfiles Tainted: G        W
      3.1.0-0.rc2.git7.2.fc16.x86_64 #1
       Call Trace:
        <IRQ>  [<ffffffff8108ca23>] lockdep_rcu_dereference+0xa7/0xaf
        [<ffffffff8146a0b7>] __in_dev_get_rcu+0x55/0x5d
        [<ffffffff8146a751>] arp_process+0x25/0x4d7
        [<ffffffff8146ac11>] parp_redo+0xe/0x10
        [<ffffffff8141f2ba>] neigh_proxy_process+0x9a/0x103
        [<ffffffff8106a8c4>] run_timer_softirq+0x218/0x372
        [<ffffffff8106a803>] ? run_timer_softirq+0x157/0x372
        [<ffffffff8141f220>] ? neigh_stat_seq_open+0x41/0x41
        [<ffffffff8108f2f0>] ? mark_held_locks+0x6d/0x95
        [<ffffffff81062bb6>] __do_softirq+0x112/0x25a
        [<ffffffff8150d27c>] call_softirq+0x1c/0x30
        [<ffffffff81010bf5>] do_softirq+0x4b/0xa2
        [<ffffffff81062f65>] irq_exit+0x5d/0xcf
        [<ffffffff8150dc11>] smp_apic_timer_interrupt+0x7c/0x8a
        [<ffffffff8150baf3>] apic_timer_interrupt+0x73/0x80
        <EOI>  [<ffffffff8108f439>] ? trace_hardirqs_on_caller+0x121/0x158
        [<ffffffff814fc285>] ? __slab_free+0x30/0x24c
        [<ffffffff814fc283>] ? __slab_free+0x2e/0x24c
        [<ffffffff81204e74>] ? inode_doinit_with_dentry+0x2e9/0x41f
        [<ffffffff81204e74>] ? inode_doinit_with_dentry+0x2e9/0x41f
        [<ffffffff81204e74>] ? inode_doinit_with_dentry+0x2e9/0x41f
        [<ffffffff81130cb0>] kfree+0x108/0x131
        [<ffffffff81204e74>] inode_doinit_with_dentry+0x2e9/0x41f
        [<ffffffff81204fc6>] selinux_d_instantiate+0x1c/0x1e
        [<ffffffff81200f4f>] security_d_instantiate+0x21/0x23
        [<ffffffff81154625>] d_instantiate+0x5c/0x61
        [<ffffffff811563ca>] d_splice_alias+0xbc/0xd2
        [<ffffffff811b17ff>] ext4_lookup+0xba/0xeb
        [<ffffffff8114bf1e>] d_alloc_and_lookup+0x45/0x6b
        [<ffffffff8114cbea>] walk_component+0x215/0x3e8
        [<ffffffff8114cdf8>] lookup_last+0x3b/0x3d
        [<ffffffff8114daf3>] path_lookupat+0x82/0x2af
        [<ffffffff8110fc53>] ? might_fault+0xa5/0xac
        [<ffffffff8110fc0a>] ? might_fault+0x5c/0xac
        [<ffffffff8114c564>] ? getname_flags+0x31/0x1ca
        [<ffffffff8114dd48>] do_path_lookup+0x28/0x97
        [<ffffffff8114df2c>] user_path_at+0x59/0x96
        [<ffffffff811467ad>] ? cp_new_stat+0xf7/0x10d
        [<ffffffff811469a6>] vfs_fstatat+0x44/0x6e
        [<ffffffff811469ee>] vfs_lstat+0x1e/0x20
        [<ffffffff81146b3d>] sys_newlstat+0x1a/0x33
        [<ffffffff8108f439>] ? trace_hardirqs_on_caller+0x121/0x158
        [<ffffffff812535fe>] ? trace_hardirqs_on_thunk+0x3a/0x3f
        [<ffffffff8150af82>] system_call_fastpath+0x16/0x1b
      Reported-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20e6074e
    • Eric Dumazet's avatar
      bridge: fix a possible use after free · 22df1331
      Eric Dumazet authored
      br_multicast_ipv6_rcv() can call pskb_trim_rcsum() and therefore skb
      head can be reallocated.
      
      Cache icmp6_type field instead of dereferencing twice the struct
      icmp6hdr pointer.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      22df1331
    • Yan, Zheng's avatar
      bridge: Pseudo-header required for the checksum of ICMPv6 · 4b275d7e
      Yan, Zheng authored
      Checksum of ICMPv6 is not properly computed because the pseudo header is not used.
      Thus, the MLD packet gets dropped by the bridge.
      Signed-off-by: default avatarZheng Yan <zheng.z.yan@intel.com>
      Reported-by: default avatarAng Way Chuang <wcang@sfc.wide.ad.jp>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4b275d7e
    • Yan, Zheng's avatar
      mcast: Fix source address selection for multicast listener report · e05c4ad3
      Yan, Zheng authored
      Should check use count of include mode filter instead of total number
      of include mode filters.
      Signed-off-by: default avatarZheng Yan <zheng.z.yan@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e05c4ad3
    • Nicolas de Pesloüan's avatar
      MAINTAINERS: Update GIT trees for network development · 814fd609
      Nicolas de Pesloüan authored
      Remove -2.6 from net and net-next tree names.
      Signed-off-by: default avatarNicolas de Pesloüan <nicolas.2p.debian@free.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      814fd609