2009-10-29 23:17:46

by Parag Warudkar

[permalink] [raw]
Subject: OOPS in cfg80211_conn_work

Oct 29 18:59:06 parag-laptop kernel: [ 143.180037] wlan0:
deauthenticating from 00:16:01:d6:6f:12 by local choice (reason=3)
Oct 29 18:59:06 parag-laptop kernel: [ 143.181137] wlan0: direct
probe to AP 00:16:01:d6:6f:12 (try 1)
Oct 29 18:59:06 parag-laptop kernel: [ 143.181148] wlan0:
deauthenticating from 00:16:01:d6:6f:12 by local choice (reason=3)
Oct 29 18:59:06 parag-laptop kernel: [ 143.203375] BUG: unable to
handle kernel NULL pointer dereference at (null)
Oct 29 18:59:06 parag-laptop kernel: [ 143.203432] IP:
[<ffffffffa0139161>] cfg80211_conn_work+0xb1/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.203476] PGD 138abc067 PUD
136d87067 PMD 0
Oct 29 18:59:06 parag-laptop kernel: [ 143.203530] Oops: 0000 [#1] SMP
Oct 29 18:59:06 parag-laptop kernel: [ 143.203571] last sysfs file:
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/controlC1/uevent
Oct 29 18:59:06 parag-laptop kernel: [ 143.203597] CPU 0
Oct 29 18:59:06 parag-laptop kernel: [ 143.203629] Modules linked in:
aes_generic radeon ttm drm_kms_helper drm i2c_algo_bit cfbcopyarea
cfbimgblt cfbfillrect binfmt_misc snd_hda_codec_atihdmi rfcomm
snd_hda_codec_analog sco bnep ppdev l2cap snd_hda_intel arc4
snd_hda_codec snd_pcm_oss snd_mixer_oss snd_hwdep snd_seq_dummy
snd_pcm snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event iwlagn
iptable_filter ext3 snd_seq iwlcore snd_timer led_class snd_seq_device
ip_tables jbd snd mac80211 psmouse btusb x_tables tpm_infineon
soundcore serio_raw bluetooth snd_page_alloc cfg80211 tpm tpm_bios
evdev lp parport ext4 mbcache jbd2 fuse ahci libata video output
intel_agp e1000e
Oct 29 18:59:06 parag-laptop kernel: [ 143.204560] Pid: 9, comm:
events/0 Not tainted 2.6.32-rc5 #2 HP EliteBook 8530p
Oct 29 18:59:06 parag-laptop kernel: [ 143.204588] RIP:
0010:[<ffffffffa0139161>] [<ffffffffa0139161>]
cfg80211_conn_work+0xb1/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.204634] RSP:
0000:ffff88013f8b5dc0 EFLAGS: 00010246
Oct 29 18:59:06 parag-laptop kernel: [ 143.204656] RAX:
0000000000000000 RBX: ffff88013e8db690 RCX: ffff88013cb80118
Oct 29 18:59:06 parag-laptop kernel: [ 143.204679] RDX:
0000000000000000 RSI: 0000000000000282 RDI: ffff88013e8db690
Oct 29 18:59:06 parag-laptop kernel: [ 143.204702] RBP:
ffff88013f8b5e30 R08: 0000000000000000 R09: 0000000000000001
Oct 29 18:59:06 parag-laptop kernel: [ 143.204724] R10:
0000000000000000 R11: ffff880028295718 R12: ffff88013e8db6b8
Oct 29 18:59:06 parag-laptop kernel: [ 143.204747] R13:
ffff88013cb800a8 R14: ffff88013cb80000 R15: ffff88013f8b5df0
Oct 29 18:59:06 parag-laptop kernel: [ 143.204770] FS:
0000000000000000(0000) GS:ffff880028200000(0000)
knlGS:0000000000000000
Oct 29 18:59:06 parag-laptop kernel: [ 143.204799] CS: 0010 DS: 0018
ES: 0018 CR0: 000000008005003b
Oct 29 18:59:06 parag-laptop kernel: [ 143.204820] CR2:
0000000000000000 CR3: 000000013dde3000 CR4: 00000000000406f0
Oct 29 18:59:06 parag-laptop kernel: [ 143.204843] DR0:
0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Oct 29 18:59:06 parag-laptop kernel: [ 143.204866] DR3:
0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Oct 29 18:59:06 parag-laptop kernel: [ 143.204889] Process events/0
(pid: 9, threadinfo ffff88013f8b4000, task ffff88013f885980)
Oct 29 18:59:06 parag-laptop kernel: [ 143.204917] Stack:
Oct 29 18:59:06 parag-laptop kernel: [ 143.204936] ffff88013f8b5dc0
ffff88013f8b5dc0 0000000000000282 ffffffff8162afb8
Oct 29 18:59:06 parag-laptop kernel: [ 143.204996] <0>
ffff88013cb80018 ffff88013cb80088 ffff880028218040 ffff88013f8b5fd8
Oct 29 18:59:06 parag-laptop kernel: [ 143.205085] <0>
ffff88013f8b5e10 ffff88013cb80130 ffff880028218040 ffffffffa01390b0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205190] Call Trace:
Oct 29 18:59:06 parag-laptop kernel: [ 143.205215]
[<ffffffffa01390b0>] ? cfg80211_conn_work+0x0/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.205242]
[<ffffffff8106c86f>] worker_thread+0x17f/0x2c0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205265]
[<ffffffff810710d0>] ? autoremove_wake_function+0x0/0x40
Oct 29 18:59:06 parag-laptop kernel: [ 143.205289]
[<ffffffff8106c6f0>] ? worker_thread+0x0/0x2c0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205311]
[<ffffffff81070cfe>] kthread+0x8e/0xa0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205334]
[<ffffffff81012f2a>] child_rip+0xa/0x20
Oct 29 18:59:06 parag-laptop kernel: [ 143.205356]
[<ffffffff81070c70>] ? kthread+0x0/0xa0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205378]
[<ffffffff81012f20>] ? child_rip+0x0/0x20
Oct 29 18:59:06 parag-laptop kernel: [ 143.205399] Code: 63 28 4c 89
e7 e8 c0 02 2b e1 48 8b 43 20 f6 40 48 01 74 c6 83 bb 8c 00 00 00 01
75 bd 48 8b 83 90 00 00 00 48 89 df 48 8b 40 08 <8b> 10 41 89 17 0f b7
40 04 66 41 89 47 04 e8 fc ee ff ff 85 c0
Oct 29 18:59:06 parag-laptop kernel: [ 143.206242] RIP
[<ffffffffa0139161>] cfg80211_conn_work+0xb1/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.206286] RSP <ffff88013f8b5dc0>
Oct 29 18:59:06 parag-laptop kernel: [ 143.206306] CR2: 0000000000000000
Oct 29 18:59:06 parag-laptop kernel: [ 143.206327] ---[ end trace
ccb079f99bd67991 ]---
Oct 29 18:59:58 parag-laptop kernel: Kernel logging (proc) stopped.


2009-10-30 06:49:04

by Johannes Berg

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work

On Thu, 2009-10-29 at 19:17 -0400, Parag Warudkar wrote:
> Oct 29 18:59:06 parag-laptop kernel: [ 143.180037] wlan0:
> deauthenticating from 00:16:01:d6:6f:12 by local choice (reason=3)
> Oct 29 18:59:06 parag-laptop kernel: [ 143.181137] wlan0: direct
> probe to AP 00:16:01:d6:6f:12 (try 1)

sorry, I can't read this log. please provide a non-wrapped version

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part

2009-10-30 10:57:18

by Parag Warudkar

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work



On Fri, 30 Oct 2009, Johannes Berg wrote:

> On Thu, 2009-10-29 at 19:17 -0400, Parag Warudkar wrote:
> > Oct 29 18:59:06 parag-laptop kernel: [ 143.180037] wlan0:
> > deauthenticating from 00:16:01:d6:6f:12 by local choice (reason=3)
> > Oct 29 18:59:06 parag-laptop kernel: [ 143.181137] wlan0: direct
> > probe to AP 00:16:01:d6:6f:12 (try 1)
>
> sorry, I can't read this log. please provide a non-wrapped version
>
How does this look? (Sorry sent it in a rush earlier.)
Below also is a disassembly of cfg80211_conn_work.

Thanks

Parag

OOPS
----
Oct 29 18:59:06 parag-laptop kernel: [ 143.181148] wlan0: deauthenticating from 00:16:01:d6:6f:12 by local choice (reason=3)
Oct 29 18:59:06 parag-laptop kernel: [ 143.203375] BUG: unable to handle kernel NULL pointer dereference at (null)
Oct 29 18:59:06 parag-laptop kernel: [ 143.203432] IP: [<ffffffffa0139161>] cfg80211_conn_work+0xb1/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.203476] PGD 138abc067 PUD 136d87067 PMD 0
Oct 29 18:59:06 parag-laptop kernel: [ 143.203530] Oops: 0000 [#1] SMP
Oct 29 18:59:06 parag-laptop kernel: [ 143.203571] last sysfs file: /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/controlC1/uevent
Oct 29 18:59:06 parag-laptop kernel: [ 143.203597] CPU 0
Oct 29 18:59:06 parag-laptop kernel: [ 143.203629] Modules linked in: aes_generic radeon ttm drm_kms_helper drm i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect binfmt_misc snd_hda_codec_atihdmi rfcomm snd_hda_codec_analog sco bnep ppdev l2cap snd_hda_intel arc4 snd_hda_codec snd_pcm_oss snd_mixer_oss snd_hwdep snd_seq_dummy snd_pcm snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event iwlagn iptable_filter ext3 snd_seq iwlcore snd_timer led_class snd_seq_device ip_tables jbd snd mac80211 psmouse btusb x_tables tpm_infineon soundcore serio_raw bluetooth snd_page_alloc cfg80211 tpm tpm_bios evdev lp parport ext4 mbcache jbd2 fuse ahci libata video output intel_agp e1000e
Oct 29 18:59:06 parag-laptop kernel: [ 143.204560] Pid: 9, comm: events/0 Not tainted 2.6.32-rc5 #2 HP EliteBook 8530p
Oct 29 18:59:06 parag-laptop kernel: [ 143.204588] RIP: 0010:[<ffffffffa0139161>] [<ffffffffa0139161>] cfg80211_conn_work+0xb1/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.204634] RSP: 0000:ffff88013f8b5dc0 EFLAGS: 00010246
Oct 29 18:59:06 parag-laptop kernel: [ 143.204656] RAX: 0000000000000000 RBX: ffff88013e8db690 RCX: ffff88013cb80118
Oct 29 18:59:06 parag-laptop kernel: [ 143.204679] RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffff88013e8db690
Oct 29 18:59:06 parag-laptop kernel: [ 143.204702] RBP: ffff88013f8b5e30 R08: 0000000000000000 R09: 0000000000000001
Oct 29 18:59:06 parag-laptop kernel: [ 143.204724] R10: 0000000000000000 R11: ffff880028295718 R12: ffff88013e8db6b8
Oct 29 18:59:06 parag-laptop kernel: [ 143.204747] R13: ffff88013cb800a8 R14: ffff88013cb80000 R15: ffff88013f8b5df0
Oct 29 18:59:06 parag-laptop kernel: [ 143.204770] FS: 0000000000000000(0000) GS:ffff880028200000(0000) knlGS:0000000000000000
Oct 29 18:59:06 parag-laptop kernel: [ 143.204799] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
Oct 29 18:59:06 parag-laptop kernel: [ 143.204820] CR2: 0000000000000000 CR3: 000000013dde3000 CR4: 00000000000406f0
Oct 29 18:59:06 parag-laptop kernel: [ 143.204843] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Oct 29 18:59:06 parag-laptop kernel: [ 143.204866] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Oct 29 18:59:06 parag-laptop kernel: [ 143.204889] Process events/0 (pid: 9, threadinfo ffff88013f8b4000, task ffff88013f885980)
Oct 29 18:59:06 parag-laptop kernel: [ 143.204917] Stack:
Oct 29 18:59:06 parag-laptop kernel: [ 143.204936] ffff88013f8b5dc0 ffff88013f8b5dc0 0000000000000282 ffffffff8162afb8
Oct 29 18:59:06 parag-laptop kernel: [ 143.204996] <0> ffff88013cb80018 ffff88013cb80088 ffff880028218040 ffff88013f8b5fd8
Oct 29 18:59:06 parag-laptop kernel: [ 143.205085] <0> ffff88013f8b5e10 ffff88013cb80130 ffff880028218040 ffffffffa01390b0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205190] Call Trace:
Oct 29 18:59:06 parag-laptop kernel: [ 143.205215] [<ffffffffa01390b0>] ? cfg80211_conn_work+0x0/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.205242] [<ffffffff8106c86f>] worker_thread+0x17f/0x2c0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205265] [<ffffffff810710d0>] ? autoremove_wake_function+0x0/0x40
Oct 29 18:59:06 parag-laptop kernel: [ 143.205289] [<ffffffff8106c6f0>] ? worker_thread+0x0/0x2c0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205311] [<ffffffff81070cfe>] kthread+0x8e/0xa0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205334] [<ffffffff81012f2a>] child_rip+0xa/0x20
Oct 29 18:59:06 parag-laptop kernel: [ 143.205356] [<ffffffff81070c70>] ? kthread+0x0/0xa0
Oct 29 18:59:06 parag-laptop kernel: [ 143.205378] [<ffffffff81012f20>] ? child_rip+0x0/0x20
Oct 29 18:59:06 parag-laptop kernel: [ 143.205399] Code: 63 28 4c 89 e7 e8 c0 02 2b e1 48 8b 43 20 f6 40 48 01 74 c6 83 bb 8c 00 00 00 01 75 bd 48 8b 83 90 00 00 00 48 89 df 48 8b 40 08 <8b> 10 41 89 17 0f b7 40 04 66 41 89 47 04 e8 fc ee ff ff 85 c0
Oct 29 18:59:06 parag-laptop kernel: [ 143.206242] RIP [<ffffffffa0139161>] cfg80211_conn_work+0xb1/0x140 [cfg80211]
Oct 29 18:59:06 parag-laptop kernel: [ 143.206286] RSP <ffff88013f8b5dc0>
Oct 29 18:59:06 parag-laptop kernel: [ 143.206306] CR2: 0000000000000000
Oct 29 18:59:06 parag-laptop kernel: [ 143.206327] ---[ end trace ccb079f99bd67991 ]---
Oct 29 18:59:58 parag-laptop kernel: Kernel logging (proc) stopped.

Disassembly
-----------
00000000000140b0 <cfg80211_conn_work>:
140b0: 55 push %rbp
140b1: 48 89 e5 mov %rsp,%rbp
140b4: 41 57 push %r15
140b6: 4c 8d 7d c0 lea -0x40(%rbp),%r15
140ba: 41 56 push %r14
140bc: 4c 8d b7 d0 fe ff ff lea -0x130(%rdi),%r14
140c3: 41 55 push %r13
140c5: 4d 8d ae a8 00 00 00 lea 0xa8(%r14),%r13
140cc: 41 54 push %r12
140ce: 53 push %rbx
140cf: 48 89 fb mov %rdi,%rbx
140d2: 48 83 ec 48 sub $0x48,%rsp
140d6: e8 00 00 00 00 callq 140db <cfg80211_conn_work+0x2b>
140db: 49 8d 46 18 lea 0x18(%r14),%rax
140df: 48 89 c7 mov %rax,%rdi
140e2: 48 89 45 b0 mov %rax,-0x50(%rbp)
140e6: e8 00 00 00 00 callq 140eb <cfg80211_conn_work+0x3b>
140eb: 49 8d 86 88 00 00 00 lea 0x88(%r14),%rax
140f2: 48 89 45 b8 mov %rax,-0x48(%rbp)
140f6: 48 89 c7 mov %rax,%rdi
140f9: e8 00 00 00 00 callq 140fe <cfg80211_conn_work+0x4e>
140fe: 48 8b 9b 78 ff ff ff mov -0x88(%rbx),%rbx
14105: 48 83 eb 10 sub $0x10,%rbx
14109: eb 15 jmp 14120 <cfg80211_conn_work+0x70>
1410b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
14110: 4c 89 e7 mov %r12,%rdi
14113: e8 00 00 00 00 callq 14118 <cfg80211_conn_work+0x68>
14118: 48 8b 5b 10 mov 0x10(%rbx),%rbx
1411c: 48 83 eb 10 sub $0x10,%rbx
14120: 48 8b 43 10 mov 0x10(%rbx),%rax
14124: 0f 18 08 prefetcht0 (%rax)
14127: 48 8d 43 10 lea 0x10(%rbx),%rax
1412b: 49 39 c5 cmp %rax,%r13
1412e: 0f 84 7c 00 00 00 je 141b0 <cfg80211_conn_work+0x100>
14134: 4c 8d 63 28 lea 0x28(%rbx),%r12
14138: 4c 89 e7 mov %r12,%rdi
1413b: e8 00 00 00 00 callq 14140 <cfg80211_conn_work+0x90>
14140: 48 8b 43 20 mov 0x20(%rbx),%rax
14144: f6 40 48 01 testb $0x1,0x48(%rax)
14148: 74 c6 je 14110 <cfg80211_conn_work+0x60>
1414a: 83 bb 8c 00 00 00 01 cmpl $0x1,0x8c(%rbx)
14151: 75 bd jne 14110 <cfg80211_conn_work+0x60>
14153: 48 8b 83 90 00 00 00 mov 0x90(%rbx),%rax
1415a: 48 89 df mov %rbx,%rdi
1415d: 48 8b 40 08 mov 0x8(%rax),%rax
14161: 8b 10 mov (%rax),%edx
14163: 41 89 17 mov %edx,(%r15)
14166: 0f b7 40 04 movzwl 0x4(%rax),%eax
1416a: 66 41 89 47 04 mov %ax,0x4(%r15)
1416f: e8 fc ee ff ff callq 13070 <cfg80211_conn_do_work>
14174: 85 c0 test %eax,%eax
14176: 74 98 je 14110 <cfg80211_conn_work+0x60>
14178: 48 8b 7b 20 mov 0x20(%rbx),%rdi
1417c: 45 31 c9 xor %r9d,%r9d
1417f: 48 c7 44 24 10 00 00 movq $0x0,0x10(%rsp)
14186: 00 00
14188: c7 44 24 08 00 00 00 movl $0x0,0x8(%rsp)
1418f: 00
14190: c7 04 24 01 00 00 00 movl $0x1,(%rsp)
14197: 45 31 c0 xor %r8d,%r8d
1419a: 31 c9 xor %ecx,%ecx
1419c: 31 d2 xor %edx,%edx
1419e: 4c 89 fe mov %r15,%rsi
141a1: e8 00 00 00 00 callq 141a6 <cfg80211_conn_work+0xf6>
141a6: e9 65 ff ff ff jmpq 14110 <cfg80211_conn_work+0x60>
141ab: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
141b0: 48 8b 7d b8 mov -0x48(%rbp),%rdi
141b4: e8 00 00 00 00 callq 141b9 <cfg80211_conn_work+0x109>
141b9: 49 81 fe 00 f0 ff ff cmp $0xfffffffffffff000,%r14
141c0: 77 27 ja 141e9 <cfg80211_conn_work+0x139>
141c2: 4d 85 f6 test %r14,%r14
141c5: 74 22 je 141e9 <cfg80211_conn_work+0x139>
141c7: 48 8b 7d b0 mov -0x50(%rbp),%rdi
141cb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
141d0: e8 00 00 00 00 callq 141d5 <cfg80211_conn_work+0x125>
141d5: e8 00 00 00 00 callq 141da <cfg80211_conn_work+0x12a>
141da: 48 83 c4 48 add $0x48,%rsp
141de: 5b pop %rbx
141df: 41 5c pop %r12
141e1: 41 5d pop %r13
141e3: 41 5e pop %r14
141e5: 41 5f pop %r15
141e7: c9 leaveq
141e8: c3 retq
141e9: 0f 0b ud2a
141eb: eb fe jmp 141eb <cfg80211_conn_work+0x13b>
141ed: 0f 1f 00 nopl (%rax)

2009-10-30 11:50:23

by Johannes Berg

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work

On Fri, 2009-10-30 at 06:57 -0400, Parag Warudkar wrote:
>
> On Fri, 30 Oct 2009, Johannes Berg wrote:
>
> > On Thu, 2009-10-29 at 19:17 -0400, Parag Warudkar wrote:
> > > Oct 29 18:59:06 parag-laptop kernel: [ 143.180037] wlan0:
> > > deauthenticating from 00:16:01:d6:6f:12 by local choice (reason=3)
> > > Oct 29 18:59:06 parag-laptop kernel: [ 143.181137] wlan0: direct
> > > probe to AP 00:16:01:d6:6f:12 (try 1)
> >
> > sorry, I can't read this log. please provide a non-wrapped version
> >
> How does this look? (Sorry sent it in a rush earlier.)
> Below also is a disassembly of cfg80211_conn_work.

Thanks. I was going to ask for disassembly but you preempted me, I like
that :)

Since you say you can easily reproduce this, can you try the patch
below?

johannes

---
net/wireless/sme.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

--- wireless-testing.orig/net/wireless/sme.c 2009-10-30 12:48:09.000000000 +0100
+++ wireless-testing/net/wireless/sme.c 2009-10-30 12:48:41.000000000 +0100
@@ -165,7 +165,7 @@ void cfg80211_conn_work(struct work_stru
struct cfg80211_registered_device *rdev =
container_of(work, struct cfg80211_registered_device, conn_work);
struct wireless_dev *wdev;
- u8 bssid[ETH_ALEN];
+ u8 bssid_buf[ETH_ALEN], *bssid = NULL;

rtnl_lock();
cfg80211_lock_rdev(rdev);
@@ -181,7 +181,10 @@ void cfg80211_conn_work(struct work_stru
wdev_unlock(wdev);
continue;
}
- memcpy(bssid, wdev->conn->params.bssid, ETH_ALEN);
+ if (wdev->conn->params.bssid) {
+ memcpy(bssid_buf, wdev->conn->params.bssid, ETH_ALEN);
+ bssid = bssid_buf;
+ }
if (cfg80211_conn_do_work(wdev))
__cfg80211_connect_result(
wdev->netdev, bssid,

2009-10-30 23:22:25

by Parag Warudkar

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work

On Friday, October 30, 2009, Johannes Berg <[email protected]> wrote:
> On Fri, 2009-10-30 at 06:57 -0400, Parag Warudkar wrote:
>>
>> On Fri, 30 Oct 2009, Johannes Berg wrote:
>>
>> > On Thu, 2009-10-29 at 19:17 -0400, Parag Warudkar wrote:
>> > > Oct 29 18:59:06 parag-laptop kernel: [ ?143.180037] wlan0:
>> > > deauthenticating from 00:16:01:d6:6f:12 by local choice (reason=3)
>> > > Oct 29 18:59:06 parag-laptop kernel: [ ?143.181137] wlan0: direct
>> > > probe to AP 00:16:01:d6:6f:12 (try 1)
>> >
>> > sorry, I can't read this log. please provide a non-wrapped version
>> >
>> How does this look? (Sorry sent it in a rush earlier.)
>> Below also is a disassembly of cfg80211_conn_work.
>
> Thanks. I was going to ask for disassembly but you preempted me, I like
> that :)
>
> Since you say you can easily reproduce this, can you try the patch
> below?
>
> johannes
>
> ---
> ?net/wireless/sme.c | ? ?7 +++++--
> ?1 file changed, 5 insertions(+), 2 deletions(-)
>
> --- wireless-testing.orig/net/wireless/sme.c ? ?2009-10-30 12:48:09.000000000 +0100
> +++ wireless-testing/net/wireless/sme.c 2009-10-30 12:48:41.000000000 +0100
> @@ -165,7 +165,7 @@ void cfg80211_conn_work(struct work_stru
> ? ? ? ?struct cfg80211_registered_device *rdev =
> ? ? ? ? ? ? ? ?container_of(work, struct cfg80211_registered_device, conn_work);
> ? ? ? ?struct wireless_dev *wdev;
> - ? ? ? u8 bssid[ETH_ALEN];
> + ? ? ? u8 bssid_buf[ETH_ALEN], *bssid = NULL;
>
> ? ? ? ?rtnl_lock();
> ? ? ? ?cfg80211_lock_rdev(rdev);
> @@ -181,7 +181,10 @@ void cfg80211_conn_work(struct work_stru
> ? ? ? ? ? ? ? ? ? ? ? ?wdev_unlock(wdev);
> ? ? ? ? ? ? ? ? ? ? ? ?continue;
> ? ? ? ? ? ? ? ?}
> - ? ? ? ? ? ? ? memcpy(bssid, wdev->conn->params.bssid, ETH_ALEN);
> + ? ? ? ? ? ? ? if (wdev->conn->params.bssid) {
> + ? ? ? ? ? ? ? ? ? ? ? memcpy(bssid_buf, wdev->conn->params.bssid, ETH_ALEN);
> + ? ? ? ? ? ? ? ? ? ? ? bssid = bssid_buf;
> + ? ? ? ? ? ? ? }
> ? ? ? ? ? ? ? ?if (cfg80211_conn_do_work(wdev))
> ? ? ? ? ? ? ? ? ? ? ? ?__cfg80211_connect_result(
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?wdev->netdev, bssid,
>
>
Seems to have fixed it.

Thanks Johannes.

2009-10-31 06:34:58

by Johannes Berg

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work

On Fri, 2009-10-30 at 19:22 -0400, Parag Warudkar wrote:

> Seems to have fixed it.

Thanks Parag. Could you run

iw event -t -f > /tmp/log

[http://linuxwireless.org/en/users/Documentation/iw]

and try to reproduce again? I'm not sure whether or not we get spurious
events with this patch.

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part

2009-10-31 13:37:38

by Parag Warudkar

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work



On Sat, 31 Oct 2009, Johannes Berg wrote:
>
> iw event -t -f > /tmp/log

Here it goes - this is while trying couple times to reproduce the issue.

Parag

1256995923.900741: wlan0 (phy #0): deauth 00:21:6a:1e:33:1a -> 00:1d:7e:93:3a:58 reason 3: Deauthenticated because sending station is leaving (or has left) the IBSS or ESS [frame: c0 00 00 00 00 1d 7e 93 3a 58 00 21 6a 1e 33 1a 00 1d 7e 93 3a 58 00 00 03 00]
1256995923.900918: wlan0 (phy #0): disconnected (local request)
1256995923.900953: wlan0 (phy #0): deauth 00:21:6a:1e:33:1a -> 00:16:01:d6:6f:12 reason 3: Deauthenticated because sending station is leaving (or has left) the IBSS or ESS [frame: c0 00 00 00 00 16 01 d6 6f 12 00 21 6a 1e 33 1a 00 16 01 d6 6f 12 00 00 03 00]
1256995923.901000: wlan0 (phy #0): failed to connect to 00:16:01:d6:6f:12, status: 1: Unspecified failure
1256995923.901861: wlan0 (phy #0): scan started
1256995923.918218: wlan0 (phy #0): failed to connect, status: 1: Unspecified failure
1256995923.918270: wlan0 (phy #0): scan finished: 2452, "f2\x0d\xb71X\xa3Z%]\x05\x17X\xe9^\xd4\xab\xb2\xcd\xc6\x9b\xb4T\x11\x0e\x82tA!=\xdc\x87"
1256995933.941448: wlan0 (phy #0): scan started
1256995937.245751: wlan0 (phy #0): scan finished: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472 5180 5200 5220 5240 5260 5280 5300 5320 5500 5520 5540 5560 5580 5600 5620 5640 5660 5680 5700 5745 5765 5785 5805 5825, ""
1256995937.247315: wlan0 (phy #0): scan started
1256995937.247366: wlan0 (phy #0): deauth 00:21:6a:1e:33:1a -> 00:16:01:d6:6f:12 reason 3: Deauthenticated because sending station is leaving (or has left) the IBSS or ESS [frame: c0 00 00 00 00 16 01 d6 6f 12 00 21 6a 1e 33 1a 00 16 01 d6 6f 12 00 00 03 00]
1256995937.247417: wlan0 (phy #0): failed to connect to 00:16:01:d6:6f:12, status: 1: Unspecified failure
1256995937.287319: wlan0 (phy #0): scan finished: 2452, "f2\x0d\xb71X\xa3Z%]\x05\x17X\xe9^\xd4\xab\xb2\xcd\xc6\x9b\xb4T\x11\x0e\x82tA!=\xdc\x87"
1256995937.293899: wlan0 (phy #0): auth 00:1d:7e:93:3a:58 -> 00:21:6a:1e:33:1a status: 0: Successful [frame: b0 00 3a 01 00 21 6a 1e 33 1a 00 1d 7e 93 3a 58 00 1d 7e 93 3a 58 10 f0 00 00 02 00 00 00]
1256995937.298275: wlan0 (phy #0): assoc 00:1d:7e:93:3a:58 -> 00:21:6a:1e:33:1a status: 0: Successful [frame: 10 00 3a 01 00 21 6a 1e 33 1a 00 1d 7e 93 3a 58 00 1d 7e 93 3a 58 20 f0 11 04 00 00 02 c0 01 04 82 84 8b 96 32 08 8c 12 98 24 b0 48 60 6c dd 18 00 50 f2 02 01 01 80 00 03 a4 00 00 27 a4 00 00 42 43 5e 00 62 32 2f 00 dd 07 00 0c 43 01 00 00 00]
1256995937.298391: wlan0 (phy #0): connected to 00:1d:7e:93:3a:58
1256995941.863589: wlan0 (phy #0): deauth 00:21:6a:1e:33:1a -> 00:1d:7e:93:3a:58 reason 3: Deauthenticated because sending station is leaving (or has left) the IBSS or ESS [frame: c0 00 00 00 00 1d 7e 93 3a 58 00 21 6a 1e 33 1a 00 1d 7e 93 3a 58 00 00 03 00]
1256995941.863706: wlan0 (phy #0): disconnected (local request)
1256995941.863744: wlan0 (phy #0): deauth 00:21:6a:1e:33:1a -> 00:16:01:d6:6f:12 reason 3: Deauthenticated because sending station is leaving (or has left) the IBSS or ESS [frame: c0 00 00 00 00 16 01 d6 6f 12 00 21 6a 1e 33 1a 00 16 01 d6 6f 12 00 00 03 00]
1256995941.863791: wlan0 (phy #0): failed to connect to 00:16:01:d6:6f:12, status: 1: Unspecified failure
1256995941.864860: wlan0 (phy #0): scan started
1256995941.883549: wlan0 (phy #0): failed to connect, status: 1: Unspecified failure
1256995941.883658: wlan0 (phy #0): scan finished: 2452, "p\xe9>\xa1A\xe1\xfcg>\x01~\x97\xea\xdck\x96\x8f8\*\xec\xb0;\xfb2\xaf<T\xec\x18\xdb\"
1256995951.192371: wlan0 (phy #0): scan started
1256995954.482288: wlan0 (phy #0): scan finished: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472 5180 5200 5220 5240 5260 5280 5300 5320 5500 5520 5540 5560 5580 5600 5620 5640 5660 5680 5700 5745 5765 5785 5805 5825, "pbwloft2"
1256995954.483920: wlan0 (phy #0): scan started
1256995954.483976: wlan0 (phy #0): deauth 00:21:6a:1e:33:1a -> 00:16:01:d6:6f:12 reason 3: Deauthenticated because sending station is leaving (or has left) the IBSS or ESS [frame: c0 00 00 00 00 16 01 d6 6f 12 00 21 6a 1e 33 1a 00 16 01 d6 6f 12 00 00 03 00]
1256995954.484027: wlan0 (phy #0): failed to connect to 00:16:01:d6:6f:12, status: 1: Unspecified fa

2009-10-31 13:47:00

by Johannes Berg

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work

On Sat, 2009-10-31 at 09:37 -0400, Parag Warudkar wrote:
>
> On Sat, 31 Oct 2009, Johannes Berg wrote:
> >
> > iw event -t -f > /tmp/log
>
> Here it goes - this is while trying couple times to reproduce the issue.

Thanks. I'll analyse it later and if I see any issues fix them.

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part

2009-10-31 15:35:46

by Johannes Berg

[permalink] [raw]
Subject: Re: OOPS in cfg80211_conn_work

On Sat, 2009-10-31 at 09:37 -0400, Parag Warudkar wrote:
>
> On Sat, 31 Oct 2009, Johannes Berg wrote:
> >
> > iw event -t -f > /tmp/log
>
> Here it goes - this is while trying couple times to reproduce the issue.

Ok, I think this looks fine and we don't need to do anything else. In
fact, I think the behaviour we have there now in the no-bssid case is
like the behaviour we had previously.

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part