Andrey Borzenkov 7fe99c4e28 orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie
[   56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599
[   56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant
[   56.923656] 2 locks held by wpa_supplicant/3031:
[   56.923662]  #0:  (rtnl_mutex){--..}, at: [<c02abd1f>] rtnl_lock+0xf/0x20
[   56.923703]  #1:  (&priv->lock){++..}, at: [<dfc840c2>] orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
[   56.923782] irq event stamp: 910
[   56.923788] hardirqs last  enabled at (909): [<c01957db>] __kmalloc+0x7b/0x140
[   56.923820] hardirqs last disabled at (910): [<c0309419>] _spin_lock_irqsave+0x19/0x80
[   56.923847] softirqs last  enabled at (880): [<c0124f54>] __do_softirq+0xc4/0x110
[   56.923865] softirqs last disabled at (871): [<c01049ae>] do_softirq+0x8e/0xe0
[   56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1
[   56.923905] Call Trace:
[   56.923919]  [<c01049ae>] ? do_softirq+0x8e/0xe0
[   56.923941]  [<c011ad12>] __might_sleep+0xd2/0x100
[   56.923952]  [<c0195837>] __kmalloc+0xd7/0x140
[   56.923963]  [<c030946a>] ? _spin_lock_irqsave+0x6a/0x80
[   56.923981]  [<dfc840e9>] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
[   56.923999]  [<dfc840c2>] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
[   56.924017]  [<dfc840e9>] orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
[   56.924036]  [<c0209325>] ? copy_from_user+0x35/0x130
[   56.924061]  [<c02ffd96>] ioctl_standard_call+0x196/0x380
[   56.924085]  [<c029f945>] ? __dev_get_by_name+0x85/0xb0
[   56.924096]  [<c02ff88f>] wext_handle_ioctl+0x14f/0x230
[   56.924113]  [<dfc84070>] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco]
[   56.924132]  [<c02a3da5>] dev_ioctl+0x495/0x570
[   56.924155]  [<c0293e05>] ? sys_sendto+0xa5/0xd0
[   56.924171]  [<c0142fe8>] ? mark_held_locks+0x48/0x90
[   56.924183]  [<c0292880>] ? sock_ioctl+0x0/0x280
[   56.924193]  [<c029297d>] sock_ioctl+0xfd/0x280
[   56.924203]  [<c0292880>] ? sock_ioctl+0x0/0x280
[   56.924235]  [<c01a51d0>] vfs_ioctl+0x20/0x80
[   56.924246]  [<c01a53e2>] do_vfs_ioctl+0x72/0x570
[   56.924257]  [<c0293e62>] ? sys_send+0x32/0x40
[   56.924268]  [<c02947c0>] ? sys_socketcall+0x1d0/0x2a0
[   56.924280]  [<c010339f>] ? sysenter_exit+0xf/0x16
[   56.924292]  [<c01a5919>] sys_ioctl+0x39/0x70
[   56.924302]  [<c0103371>] sysenter_do_call+0x12/0x31

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-22 13:55:01 -05:00
..
2009-01-14 14:35:15 -08:00
2009-01-06 10:41:56 -08:00
2008-12-17 15:37:55 -08:00
2009-01-19 16:20:16 -08:00
2009-01-15 20:43:56 -08:00
2009-01-11 00:06:32 -08:00
2008-12-08 01:14:16 -08:00
2008-11-25 18:12:49 -08:00
2008-10-27 17:06:18 -07:00
2009-01-07 18:09:58 -08:00
2008-11-25 18:25:32 -08:00
2009-01-07 18:10:24 -08:00
2008-07-18 17:54:17 -07:00
2008-10-09 12:22:38 -07:00
2008-12-16 23:54:23 -08:00
2008-08-13 16:05:38 -07:00
2008-08-13 16:05:37 -07:00
2009-01-19 16:20:15 -08:00
2009-01-19 16:20:15 -08:00
2009-01-19 16:20:15 -08:00
2009-01-19 16:20:15 -08:00
2009-01-07 17:25:41 -08:00
2008-09-22 19:27:10 -07:00
2009-01-07 17:34:36 -08:00
2009-01-07 17:34:36 -08:00
2008-11-21 17:31:51 -08:00
2008-11-16 12:41:35 -08:00
2008-11-20 20:28:00 -08:00
2008-12-08 01:14:16 -08:00
2009-01-07 17:30:09 -08:00
2009-01-07 17:27:39 -08:00
2008-11-21 17:37:54 -08:00
2008-11-25 18:23:59 -08:00
2009-01-07 17:57:47 -08:00
2009-01-11 00:11:28 -08:00
2009-01-07 18:13:49 -08:00
2008-11-25 18:24:57 -08:00
2009-01-06 10:47:44 -08:00
2009-01-07 17:26:14 -08:00
2008-08-14 04:26:38 -04:00
2008-10-27 17:06:18 -07:00
2009-01-19 16:23:01 -08:00
2008-12-08 01:14:16 -08:00
2008-11-25 18:24:38 -08:00
2008-10-27 17:06:18 -07:00
2009-01-07 10:00:22 -08:00
2008-12-08 01:14:16 -08:00
2009-01-07 17:57:19 -08:00
2008-11-25 18:23:35 -08:00
2008-10-27 17:06:18 -07:00
2008-12-08 01:14:16 -08:00
2009-01-07 17:26:48 -08:00
2008-12-25 18:03:28 -08:00
2008-12-16 01:23:49 -08:00
2008-10-17 02:38:35 +11:00
2008-10-27 17:06:18 -07:00
2008-11-10 15:11:56 -05:00
2008-11-10 15:11:56 -05:00
2009-01-07 17:56:54 -08:00
2008-08-07 02:20:57 -04:00
2009-01-07 17:35:41 -08:00
2008-08-07 01:55:50 -04:00
2009-01-07 18:09:36 -08:00
2008-10-27 17:06:18 -07:00
2009-01-07 17:58:17 -08:00
2008-11-25 18:25:49 -08:00
2008-12-08 01:14:16 -08:00
2008-12-08 01:14:16 -08:00
2008-08-29 02:13:33 -07:00
2009-01-07 17:58:43 -08:00
2009-01-07 17:28:54 -08:00
2009-01-07 17:28:35 -08:00
2008-08-29 02:14:29 -07:00
2008-08-29 02:14:43 -07:00
2009-01-19 16:57:45 -08:00
2009-01-19 16:57:45 -08:00
2009-01-07 17:27:15 -08:00
2008-05-30 22:18:02 -04:00
2009-01-04 17:14:46 -08:00
2009-01-07 17:29:46 -08:00
2009-01-11 00:25:21 -08:00
2009-01-11 00:25:21 -08:00
2009-01-20 14:44:01 -08:00
2009-01-06 10:44:22 -08:00
2009-01-11 00:06:36 -08:00
2008-10-27 17:06:18 -07:00