linux/drivers/staging
Vasanthakumar Thiagarajan 0d422f4237 staging: ath6kl: Fix a kernel panic during suspend/resume
The kernel panic happens when we try to complete a pending
scan request while going to suspend state. The cause for this
kernel panic is accessing a freed memory (ar->arWmin). This
is freed before ar6k_cfg80211_scanComplete_event() getting
called where it is dereferenced.

RIP: 0010:[<ffffffffa042e726>]  [<ffffffffa042e726>] wlan_iterate_nodes+0x16/0xc0 [ath6kl]
RSP: 0018:ffff8800719fbce8  EFLAGS: 00010296
RAX: ffff880071bbcc00 RBX: ffff880037b22520 RCX: ffff880077413c80
RDX: ffff880037b221c0 RSI: ffffffffa041ef10 RDI: 0000000000000020
RBP: ffff8800719fbd18 R08: 0000000000000001 R09: 0000000000000001
R10: 0000000000000400 R11: 0000000000000000 R12: 0000000000000010
R13: ffff8800719fbdd8 R14: 00007fff83a84b60 R15: 0000000000000001
FS:  00007fdccb8a7700(0000) GS:ffff880077400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000148 CR3: 0000000070604000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
	DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process rmmod (pid: 1998, threadinfo ffff8800719fa000, task ffff880066712d80)
	Stack:
	0000000000000000 ffff880037b22520 0000000000000010 ffff8800719fbdd8
	00007fff83a84b60 0000000000000001 ffff8800719fbd28 ffffffffa0429fe2
	ffff8800719fbd58 ffffffffa041ee5f ffff8800719fbd58 ffff880037b22520
	Call Trace:
	[<ffffffffa0429fe2>] wmi_iterate_nodes+0x12/0x20 [ath6kl]
	[<ffffffffa041ee5f>] ar6k_cfg80211_scanComplete_event+0x3f/0xf0 [ath6kl]
	[<ffffffffa04245f1>] ar6000_close+0x61/0x100 [ath6kl]
	[<ffffffff814d6736>] __dev_close_many+0x96/0x100
	[<ffffffff814d688d>] dev_close_many+0x9d/0x120
	[<ffffffff814d6a48>] rollback_registered_many+0xe8/0x290
	[<ffffffff814d6d16>] unregister_netdevice_queue+0x96/0x100
	[<ffffffff814d6ea0>] unregister_netdev+0x20/0x30
	[<ffffffffa0420259>] ar6000_destroy+0x119/0x180 [ath6kl]
	[<ffffffffa043182a>] ar6k_cleanup_module+0x2a/0x33 [ath6kl]
	[<ffffffff81098fde>] sys_delete_module+0x19e/0x270
	[<ffffffff815d7542>] system_call_fastpath+0x16/0x1b
	Code: c3 0f 1f 40 00 48 89 df e8 68 ff ff ff eb df 66 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 ec 08 0f 1f 44 00 00
	8b af 28 01 00 00 4c 8d 7f 08 49 89 fc 48 89 f3 49 89 d6 41
	RIP  [<ffffffffa042e726>] wlan_iterate_nodes+0x16/0xc0 [ath6kl]
	RSP <ffff8800719fbce8>

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-06-07 12:28:42 -07:00
..
altera-stapl Staging: altera: move .h file to proper place 2011-06-07 12:19:14 -07:00
asus_oled
ath6kl staging: ath6kl: Fix a kernel panic during suspend/resume 2011-06-07 12:28:42 -07:00
bcm Fix common misspellings 2011-03-31 11:26:23 -03:00
brcm80211 staging: brcm80211: fix for 'multiple definition of wl_msg_level' build err 2011-06-07 12:28:39 -07:00
comedi Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2011-05-24 13:28:35 -07:00
cptm1217 drivers/staging/cptm1217/clearpad_tm1217.c: Correct call to input_free_device 2011-05-18 14:30:49 -07:00
crystalhd staging: Remove unnecessary semicolons when switch (foo) {...}; 2011-04-25 16:58:35 -07:00
cs5535_gpio
cx25821 staging: Remove unnecessary semicolons when switch (foo) {...}; 2011-04-25 16:58:35 -07:00
cxd2099 [media] ngene: Fix compilation when cxd2099 is not enabled 2011-03-21 20:31:48 -03:00
cxt1e1 Fix common misspellings 2011-03-31 11:26:23 -03:00
dt3155v4l
easycap staging/easycap: easycap_probe: drop more unused variables 2011-05-18 14:30:08 -07:00
echo staging: echo: Trivial indentation changes 2011-05-17 13:31:29 -07:00
et131x Fix common misspellings 2011-03-31 11:26:23 -03:00
frontier
ft1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2011-05-24 13:28:35 -07:00
generic_serial Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-05-26 13:19:00 -07:00
gma500 staging: gma500: get control from firmware framebuffer if conflicts 2011-06-07 12:28:42 -07:00
go7007 Fix common misspellings 2011-03-31 11:26:23 -03:00
hv Staging: hv: vmbus_drv: Get rid of util synchronixation based on channel counting 2011-05-17 13:36:50 -07:00
iio staging: iio: industrialio-trigger: set iio_poll_func private_data 2011-06-07 12:28:41 -07:00
intel_sst Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-05-23 12:49:28 -07:00
keucr staging/keucr: fix transport other code style 2011-05-18 08:22:41 -07:00
line6 drivers/staging/line6/driver.c: Drop unneeded put functions. 2011-05-17 13:31:32 -07:00
lirc Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-05-23 21:12:49 -07:00
mei staging: fix mei build when PM is not enabled 2011-05-19 15:34:31 -07:00
msm Fix common misspellings 2011-03-31 11:26:23 -03:00
nvec Staging: initial version of the nvec driver 2011-05-19 15:36:10 -07:00
octeon staging: octeon-ethernet: remove .get_sg, etc. ethtool_ops 2011-04-25 17:26:19 -07:00
olpc_dcon staging: fix olpc_dcon build, needs BACKLIGHT_CLASS_DEVICE 2011-06-07 12:28:39 -07:00
panel
phison
pohmelfs sanitize <linux/prefetch.h> usage 2011-05-20 12:50:29 -07:00
quatech_usb2 Fix common misspellings 2011-03-31 11:26:23 -03:00
quickstart
rtl8187se Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-04-07 11:36:44 -07:00
rtl8192e Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-04-07 11:36:44 -07:00
rtl8192u Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-04-07 11:36:44 -07:00
rtl8712 staging: r8712u: Fix driver to support ad-hoc mode 2011-05-03 10:57:39 -07:00
rts_pstor staging: rts_pstor: use bitwise operator instead of logical one 2011-06-07 12:28:40 -07:00
sbe-2t3e3 Staging: sbe-2t3e3: redundant null check before kfree() 2011-04-20 13:45:57 -07:00
sep staging: sep: resolve issue with false zero length of page 2011-04-25 17:05:28 -07:00
serqt_usb2 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-03-16 15:19:35 -07:00
slicoss Fix common misspellings 2011-03-31 11:26:23 -03:00
sm7xx Staging: sm7xx: printk loglevels modified to match the scenario 2011-05-19 15:34:32 -07:00
solo6x10 staging: solo6x10: add select SND_PCM to fix build error 2011-04-25 17:44:09 -07:00
speakup Fix common misspellings 2011-03-31 11:26:23 -03:00
spectra Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
ste_rmi4 Fix common misspellings 2011-03-31 11:26:23 -03:00
tidspbridge Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
tm6000 [media] tm6000: fix uninitialized field, change prink to dprintk 2011-05-21 07:24:19 -03:00
tty Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-05-23 12:49:28 -07:00
usbip staging: usbip: bugfix prevent driver unbind 2011-06-07 12:28:41 -07:00
vme Fix common misspellings 2011-03-31 11:26:23 -03:00
vt6655 staging: vt6655: Fix warnings if CONFIG_PM is not defined 2011-05-06 09:27:34 -07:00
vt6656 drivers/staging/vt6656/main_usb.c: Delete unnecessary call to usb_kill_urb 2011-05-17 11:37:57 -07:00
westbridge staging: Remove unnecessary semicolons when for (foo) {...}; 2011-04-25 16:58:35 -07:00
winbond Staging: winbond: wb35tx.c: Fixed coding style 2011-04-20 13:48:25 -07:00
wlags49_h2 staging: pcmcia: Convert pcmcia_device_id declarations to const 2011-05-06 07:47:02 +02:00
wlags49_h25 Fix common misspellings 2011-03-31 11:26:23 -03:00
wlan-ng Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-24 16:47:54 -04:00
xgifb Staging: xgifb: Fixed style issues. 2011-04-26 15:46:28 -07:00
zcache vmscan: change shrinker API by passing shrink_control struct 2011-05-25 08:39:26 -07:00
zram
Kconfig Staging: remove STAGING_EXCLUDE_BUILD option 2011-06-07 12:23:57 -07:00
Makefile Staging: initial version of the nvec driver 2011-05-19 15:36:10 -07:00
staging.c