<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/net/wireless, branch v3.1.3</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.1.3</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.1.3'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2011-11-26T17:08:34Z</updated>
<entry>
<title>cfg80211: fix bug on regulatory core exit on access to last_request</title>
<updated>2011-11-26T17:08:34Z</updated>
<author>
<name>Luis R. Rodriguez</name>
<email>mcgrof@qca.qualcomm.com</email>
</author>
<published>2011-11-08T22:28:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1d8fdb8410ef5aca16ddf01c1176358c9154bcfa'/>
<id>urn:sha1:1d8fdb8410ef5aca16ddf01c1176358c9154bcfa</id>
<content type='text'>
commit 58ebacc66bd11be2327edcefc79de94bd6f5bb4a upstream.

Commit 4d9d88d1 by Scott James Remnant &lt;keybuk@google.com&gt; added
the .uevent() callback for the regulatory device used during
the platform device registration. The change was done to account
for queuing up udev change requests through udevadm triggers.
The change also meant that upon regulatory core exit we will now
send a uevent() but the uevent() callback, reg_device_uevent(),
also accessed last_request. Right before commiting device suicide
we free'd last_request but never set it to NULL so
platform_device_unregister() would lead to bogus kernel paging
request. Fix this and also simply supress uevents right before
we commit suicide as they are pointless.

This fix is required for kernels &gt;= v2.6.39

$ git describe --contains 4d9d88d1
v2.6.39-rc1~468^2~25^2^2~21

The impact of not having this present is that a bogus paging
access may occur (only read) upon cfg80211 unload time. You
may also get this BUG complaint below. Although Johannes
could not reproduce the issue this fix is theoretically correct.

mac80211_hwsim: unregister radios
mac80211_hwsim: closing netlink
BUG: unable to handle kernel paging request at ffff88001a06b5ab
IP: [&lt;ffffffffa030df9a&gt;] reg_device_uevent+0x1a/0x50 [cfg80211]
PGD 1836063 PUD 183a063 PMD 1ffcb067 PTE 1a06b160
Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
CPU 0
Modules linked in: cfg80211(-) [last unloaded: mac80211]

Pid: 2279, comm: rmmod Tainted: G        W   3.1.0-wl+ #663 Bochs Bochs
RIP: 0010:[&lt;ffffffffa030df9a&gt;]  [&lt;ffffffffa030df9a&gt;] reg_device_uevent+0x1a/0x50 [cfg80211]
RSP: 0000:ffff88001c5f9d58  EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff88001d2eda88 RCX: ffff88001c7468fc
RDX: ffff88001a06b5a0 RSI: ffff88001c7467b0 RDI: ffff88001c7467b0
RBP: ffff88001c5f9d58 R08: 000000000000ffff R09: 000000000000ffff
R10: 0000000000000000 R11: 0000000000000001 R12: ffff88001c7467b0
R13: ffff88001d2eda78 R14: ffffffff8164a840 R15: 0000000000000001
FS:  00007f8a91d8a6e0(0000) GS:ffff88001fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: ffff88001a06b5ab CR3: 000000001c62e000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process rmmod (pid: 2279, threadinfo ffff88001c5f8000, task ffff88000023c780)
Stack:
 ffff88001c5f9d98 ffffffff812ff7e5 ffffffff8176ab3d ffff88001c7468c2
 000000000000ffff ffff88001d2eda88 ffff88001c7467b0 ffff880000114820
 ffff88001c5f9e38 ffffffff81241dc7 ffff88001c5f9db8 ffffffff81040189
Call Trace:
 [&lt;ffffffff812ff7e5&gt;] dev_uevent+0xc5/0x170
 [&lt;ffffffff81241dc7&gt;] kobject_uevent_env+0x1f7/0x490
 [&lt;ffffffff81040189&gt;] ? sub_preempt_count+0x29/0x60
 [&lt;ffffffff814cab1a&gt;] ? _raw_spin_unlock_irqrestore+0x4a/0x90
 [&lt;ffffffff81305307&gt;] ? devres_release_all+0x27/0x60
 [&lt;ffffffff8124206b&gt;] kobject_uevent+0xb/0x10
 [&lt;ffffffff812fee27&gt;] device_del+0x157/0x1b0
 [&lt;ffffffff8130377d&gt;] platform_device_del+0x1d/0x90
 [&lt;ffffffff81303b76&gt;] platform_device_unregister+0x16/0x30
 [&lt;ffffffffa030fffd&gt;] regulatory_exit+0x5d/0x180 [cfg80211]
 [&lt;ffffffffa032bec3&gt;] cfg80211_exit+0x2b/0x45 [cfg80211]
 [&lt;ffffffff8109a84c&gt;] sys_delete_module+0x16c/0x220
 [&lt;ffffffff8108a23e&gt;] ? trace_hardirqs_on_caller+0x7e/0x120
 [&lt;ffffffff814cba02&gt;] system_call_fastpath+0x16/0x1b
Code: &lt;all your base are belong to me&gt;
RIP  [&lt;ffffffffa030df9a&gt;] reg_device_uevent+0x1a/0x50 [cfg80211]
 RSP &lt;ffff88001c5f9d58&gt;
CR2: ffff88001a06b5ab
---[ end trace 147c5099a411e8c0 ]---

Reported-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: Scott James Remnant &lt;keybuk@google.com&gt;
Signed-off-by: Luis R. Rodriguez &lt;mcgrof@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>nl80211: fix HT capability attribute validation</title>
<updated>2011-11-26T17:08:34Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2011-11-03T08:27:01Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2ebd38f358b941add49441bad15cb75217a0f08b'/>
<id>urn:sha1:2ebd38f358b941add49441bad15cb75217a0f08b</id>
<content type='text'>
commit 6c7394197af90f6a332180e33f5d025d3037d883 upstream.

Since the NL80211_ATTR_HT_CAPABILITY attribute is
used as a struct, it needs a minimum, not maximum
length. Enforce that properly. Not doing so could
potentially lead to reading after the buffer.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>cfg80211: Fix validation of AKM suites</title>
<updated>2011-09-21T19:58:24Z</updated>
<author>
<name>Jouni Malinen</name>
<email>jouni@qca.qualcomm.com</email>
</author>
<published>2011-09-21T13:13:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1b9ca0272ffae212e726380f66777b30a56ed7a5'/>
<id>urn:sha1:1b9ca0272ffae212e726380f66777b30a56ed7a5</id>
<content type='text'>
Incorrect variable was used in validating the akm_suites array from
NL80211_ATTR_AKM_SUITES. In addition, there was no explicit
validation of the array length (we only have room for
NL80211_MAX_NR_AKM_SUITES).

This can result in a buffer write overflow for stack variables with
arbitrary data from user space. The nl80211 commands using the affected
functionality require GENL_ADMIN_PERM, so this is only exposed to admin
users.

Cc: stable@kernel.org
Signed-off-by: Jouni Malinen &lt;jouni@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>wireless: Fix rate mask for scan request</title>
<updated>2011-09-16T19:32:11Z</updated>
<author>
<name>Rajkumar Manoharan</name>
<email>rmanohar@qca.qualcomm.com</email>
</author>
<published>2011-09-15T09:42:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3965ac00204e0ccd89e1e73ead4d2098dc8f7bd1'/>
<id>urn:sha1:3965ac00204e0ccd89e1e73ead4d2098dc8f7bd1</id>
<content type='text'>
The scan request received from cfg80211_connect do not
have proper rate mast. So the probe request sent on each
channel do not have proper the supported rates ie.

Cc: stable@kernel.org
Reviewed-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>wireless: Reset beacon_found while updating regulatory</title>
<updated>2011-09-16T19:32:08Z</updated>
<author>
<name>Rajkumar Manoharan</name>
<email>rmanohar@qca.qualcomm.com</email>
</author>
<published>2011-09-14T08:58:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=aa3d7eef398dd4f29045e9889b817d5161afe03e'/>
<id>urn:sha1:aa3d7eef398dd4f29045e9889b817d5161afe03e</id>
<content type='text'>
During the association, the regulatory is updated by country IE
that reaps the previously found beacons. The impact is that
after a STA disconnects *or* when for any reason a regulatory
domain change happens the beacon hint flag is not cleared
therefore preventing future beacon hints to be learned.
This is important as a regulatory domain change or a restore
of regulatory settings would set back the passive scan and no-ibss
flags on the channel. This is the right place to do this given that
it covers any regulatory domain change.

Cc: stable@kernel.org
Reviewed-by: Luis R. Rodriguez &lt;mcgrof@gmail.com&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Acked-by: Luis R. Rodriguez &lt;mcgrof@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>mac80211: fix suspend/resume races with unregister hw</title>
<updated>2011-08-22T18:21:40Z</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2011-08-12T12:00:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ecb4433550f0620f3d1471ae7099037ede30a91e'/>
<id>urn:sha1:ecb4433550f0620f3d1471ae7099037ede30a91e</id>
<content type='text'>
Do not call -&gt;suspend, -&gt;resume methods after we unregister wiphy. Also
delete sta_clanup timer after we finish wiphy unregister to avoid this:

WARNING: at lib/debugobjects.c:262 debug_print_object+0x85/0xa0()
Hardware name: 6369CTO
ODEBUG: free active (active state 0) object type: timer_list hint: sta_info_cleanup+0x0/0x180 [mac80211]
Modules linked in: aes_i586 aes_generic fuse bridge stp llc autofs4 sunrpc cpufreq_ondemand acpi_cpufreq mperf ext2 dm_mod uinput thinkpad_acpi hwmon sg arc4 rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib mac80211 cfg80211 i2c_i801 iTCO_wdt iTCO_vendor_support e1000e ext4 mbcache jbd2 sd_mod crc_t10dif sr_mod cdrom yenta_socket ahci libahci pata_acpi ata_generic ata_piix i915 drm_kms_helper drm i2c_algo_bit video [last unloaded: microcode]
Pid: 5663, comm: pm-hibernate Not tainted 3.1.0-rc1-wl+ #19
Call Trace:
 [&lt;c0454cfd&gt;] warn_slowpath_common+0x6d/0xa0
 [&lt;c05e05e5&gt;] ? debug_print_object+0x85/0xa0
 [&lt;c05e05e5&gt;] ? debug_print_object+0x85/0xa0
 [&lt;c0454dae&gt;] warn_slowpath_fmt+0x2e/0x30
 [&lt;c05e05e5&gt;] debug_print_object+0x85/0xa0
 [&lt;f8a808e0&gt;] ? sta_info_alloc+0x1a0/0x1a0 [mac80211]
 [&lt;c05e0bd2&gt;] debug_check_no_obj_freed+0xe2/0x180
 [&lt;c051175b&gt;] kfree+0x8b/0x150
 [&lt;f8a126ae&gt;] cfg80211_dev_free+0x7e/0x90 [cfg80211]
 [&lt;f8a13afd&gt;] wiphy_dev_release+0xd/0x10 [cfg80211]
 [&lt;c068d959&gt;] device_release+0x19/0x80
 [&lt;c05d06ba&gt;] kobject_release+0x7a/0x1c0
 [&lt;c07646a8&gt;] ? rtnl_unlock+0x8/0x10
 [&lt;f8a13adb&gt;] ? wiphy_resume+0x6b/0x80 [cfg80211]
 [&lt;c05d0640&gt;] ? kobject_del+0x30/0x30
 [&lt;c05d1a6d&gt;] kref_put+0x2d/0x60
 [&lt;c05d056d&gt;] kobject_put+0x1d/0x50
 [&lt;c08015f4&gt;] ? mutex_lock+0x14/0x40
 [&lt;c068d60f&gt;] put_device+0xf/0x20
 [&lt;c069716a&gt;] dpm_resume+0xca/0x160
 [&lt;c04912bd&gt;] hibernation_snapshot+0xcd/0x260
 [&lt;c04903df&gt;] ? freeze_processes+0x3f/0x90
 [&lt;c049151b&gt;] hibernate+0xcb/0x1e0
 [&lt;c048fdc0&gt;] ? pm_async_store+0x40/0x40
 [&lt;c048fe60&gt;] state_store+0xa0/0xb0
 [&lt;c048fdc0&gt;] ? pm_async_store+0x40/0x40
 [&lt;c05d0200&gt;] kobj_attr_store+0x20/0x30
 [&lt;c0575ea4&gt;] sysfs_write_file+0x94/0xf0
 [&lt;c051e26a&gt;] vfs_write+0x9a/0x160
 [&lt;c0575e10&gt;] ? sysfs_open_file+0x200/0x200
 [&lt;c051e3fd&gt;] sys_write+0x3d/0x70
 [&lt;c080959f&gt;] sysenter_do_call+0x12/0x28

Cc: stable@kernel.org
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>cfg80211: off by one in nl80211_trigger_scan()</title>
<updated>2011-08-01T17:46:46Z</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2011-07-29T08:52:18Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=84404623da45aac04595a8f5760a58df0e955d87'/>
<id>urn:sha1:84404623da45aac04595a8f5760a58df0e955d87</id>
<content type='text'>
The test is off by one so we'd read past the end of the
wiphy-&gt;bands[] array on the next line.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>wireless: fix a typo in ignore_reg_update</title>
<updated>2011-07-26T20:27:32Z</updated>
<author>
<name>Mihai Moldovan</name>
<email>ionic@ionic.de</email>
</author>
<published>2011-07-25T09:18:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5bc91db8933bce07c3af86da2bd956414aa5a725'/>
<id>urn:sha1:5bc91db8933bce07c3af86da2bd956414aa5a725</id>
<content type='text'>
Just a typo fix changing regulaotry to regulatory.

Signed-off-by: Mihai Moldovan &lt;ionic@ionic.de&gt;
CC: John W. Linville &lt;linville@tuxdriver.com&gt;
CC: Mohammed Shafi &lt;shafi.wireless@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>cfg80211: really ignore the regulatory request</title>
<updated>2011-07-26T20:27:29Z</updated>
<author>
<name>Sven Neumann</name>
<email>s.neumann@raumfeld.com</email>
</author>
<published>2011-07-12T13:52:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a203c2aa4cefccb879c879b8e1cad1a09a679e55'/>
<id>urn:sha1:a203c2aa4cefccb879c879b8e1cad1a09a679e55</id>
<content type='text'>
At the beginning of wiphy_update_regulatory() a check is performed
whether the request is to be ignored. Then the request is sent to
the driver nevertheless. This happens even if last_request points
to NULL, leading to a crash in the driver:

 [&lt;bf01d864&gt;] (lbs_set_11d_domain_info+0x28/0x1e4 [libertas]) from [&lt;c03b714c&gt;] (wiphy_update_regulatory+0x4d0/0x4f4)
 [&lt;c03b714c&gt;] (wiphy_update_regulatory+0x4d0/0x4f4) from [&lt;c03b4008&gt;] (wiphy_register+0x354/0x420)
 [&lt;c03b4008&gt;] (wiphy_register+0x354/0x420) from [&lt;bf01b17c&gt;] (lbs_cfg_register+0x80/0x164 [libertas])
 [&lt;bf01b17c&gt;] (lbs_cfg_register+0x80/0x164 [libertas]) from [&lt;bf020e64&gt;] (lbs_start_card+0x20/0x88 [libertas])
 [&lt;bf020e64&gt;] (lbs_start_card+0x20/0x88 [libertas]) from [&lt;bf02cbd8&gt;] (if_sdio_probe+0x898/0x9c0 [libertas_sdio])

Fix this by returning early. Also remove the out: label as it is
not any longer needed.

Signed-off-by: Sven Neumann &lt;s.neumann@raumfeld.com&gt;
Cc: linux-wireless@vger.kernel.org
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: Daniel Mack &lt;daniel@zonque.org&gt;
Cc: stable@kernel.org
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>cfg80211: fix scan crash on single-band cards</title>
<updated>2011-07-20T19:04:38Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2011-07-19T22:52:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a401d2bb363d942245acdd81c5b5a754011696ee'/>
<id>urn:sha1:a401d2bb363d942245acdd81c5b5a754011696ee</id>
<content type='text'>
commit 58389c69150e6032504dfcd3edca6b1975c8b5bc
Author: Johannes Berg &lt;johannes.berg@intel.com&gt;
Date:   Mon Jul 18 18:08:35 2011 +0200

     cfg80211: allow userspace to control supported rates in scan

made single-band cards crash since it would always
access all wiphy-&gt;bands[]. Fix this and reject any
attempts in the new helper ieee80211_get_ratemask()
to do the same, rejecting rates configuration for
unsupported bands.

Reported-by: Pavel Roskin &lt;proski@gnu.org&gt;
Tested-by: Pavel Roskin &lt;proski@gnu.org&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
