<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/wireless/scan.c, branch v2.6.31</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>cfg80211: add two missing NULL pointer checks</title>
<updated>2009-08-03T20:31:21+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-07-29T20:07:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=cd3468bad96c00b5a512f551674f36776129520e'/>
<id>cd3468bad96c00b5a512f551674f36776129520e</id>
<content type='text'>
These pointers can be NULL, the is_mesh() case isn't
ever hit in the current kernel, but cmp_ies() can be
hit under certain conditions.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: stable@kernel.org [2.6.29, 2.6.30]
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These pointers can be NULL, the is_mesh() case isn't
ever hit in the current kernel, but cmp_ies() can be
hit under certain conditions.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: stable@kernel.org [2.6.29, 2.6.30]
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: double free in __cfg80211_scan_done</title>
<updated>2009-07-21T16:07:44+00:00</updated>
<author>
<name>Christian Lamparter</name>
<email>chunkeey@web.de</email>
</author>
<published>2009-07-19T03:05:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9e81eccf199d910e5ea8db377a43478e4eccd033'/>
<id>9e81eccf199d910e5ea8db377a43478e4eccd033</id>
<content type='text'>
This patch fixes a double free corruption in __cfg80211_scan_done:

 ================================================
 BUG kmalloc-512: Object already free
 ------------------------------------------------

 INFO: Allocated in load_elf_binary+0x18b/0x19af age=6
 INFO: Freed in load_elf_binary+0x104e/0x19af age=5
 INFO: Slab 0xffffea0001bae4c0 objects=14 used=7
 INFO: Object 0xffff88007e8a9918 @offset=6424 fp=0xffff88007e8a9488

 Bytes b4 0xffff88007e8a9908:  00 00 00 00 00 00 00 00 5a 5a
 [...]
 Pid: 28705, comm: rmmod Tainted: P         C 2.6.31-rc2-wl #1
 Call Trace:
  [&lt;ffffffff810da9f4&gt;] print_trailer+0x14e/0x16e
  [&lt;ffffffff810daa56&gt;] object_err+0x42/0x61
  [&lt;ffffffff810dbcd9&gt;] __slab_free+0x2af/0x396
  [&lt;ffffffffa0ec9694&gt;] ? wiphy_unregister+0x92/0x142 [cfg80211]
  [&lt;ffffffff810dd5e3&gt;] kfree+0x13c/0x17a
  [&lt;ffffffffa0ec9694&gt;] ? wiphy_unregister+0x92/0x142 [cfg80211]
  [&lt;ffffffffa0ec9694&gt;] wiphy_unregister+0x92/0x142 [cfg80211]
  [&lt;ffffffffa0eed163&gt;] ieee80211_unregister_hw+0xc8/0xff [mac80211]
  [&lt;ffffffffa0f3fbc8&gt;] p54_unregister_common+0x31/0x66 [p54common]
  [...]
 FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed

The code path which leads to the *funny* double free:

       request = rdev-&gt;scan_req;
       dev = dev_get_by_index(&amp;init_net, request-&gt;ifidx);
	/*
	 * the driver was unloaded recently and
	 * therefore dev_get_by_index will return NULL!
	 */
        if (!dev)
                goto out;
	[...]
	rdev-&gt;scan_req = NULL; /* not executed... */
	[...]
 out:
        kfree(request);

Signed-off-by: Christian Lamparter &lt;chunkeey@web.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes a double free corruption in __cfg80211_scan_done:

 ================================================
 BUG kmalloc-512: Object already free
 ------------------------------------------------

 INFO: Allocated in load_elf_binary+0x18b/0x19af age=6
 INFO: Freed in load_elf_binary+0x104e/0x19af age=5
 INFO: Slab 0xffffea0001bae4c0 objects=14 used=7
 INFO: Object 0xffff88007e8a9918 @offset=6424 fp=0xffff88007e8a9488

 Bytes b4 0xffff88007e8a9908:  00 00 00 00 00 00 00 00 5a 5a
 [...]
 Pid: 28705, comm: rmmod Tainted: P         C 2.6.31-rc2-wl #1
 Call Trace:
  [&lt;ffffffff810da9f4&gt;] print_trailer+0x14e/0x16e
  [&lt;ffffffff810daa56&gt;] object_err+0x42/0x61
  [&lt;ffffffff810dbcd9&gt;] __slab_free+0x2af/0x396
  [&lt;ffffffffa0ec9694&gt;] ? wiphy_unregister+0x92/0x142 [cfg80211]
  [&lt;ffffffff810dd5e3&gt;] kfree+0x13c/0x17a
  [&lt;ffffffffa0ec9694&gt;] ? wiphy_unregister+0x92/0x142 [cfg80211]
  [&lt;ffffffffa0ec9694&gt;] wiphy_unregister+0x92/0x142 [cfg80211]
  [&lt;ffffffffa0eed163&gt;] ieee80211_unregister_hw+0xc8/0xff [mac80211]
  [&lt;ffffffffa0f3fbc8&gt;] p54_unregister_common+0x31/0x66 [p54common]
  [...]
 FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed

The code path which leads to the *funny* double free:

       request = rdev-&gt;scan_req;
       dev = dev_get_by_index(&amp;init_net, request-&gt;ifidx);
	/*
	 * the driver was unloaded recently and
	 * therefore dev_get_by_index will return NULL!
	 */
        if (!dev)
                goto out;
	[...]
	rdev-&gt;scan_req = NULL; /* not executed... */
	[...]
 out:
        kfree(request);

Signed-off-by: Christian Lamparter &lt;chunkeey@web.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: fix refcount leak</title>
<updated>2009-07-07T16:55:28+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-07-02T13:46:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2dce4c2b5f0b43bd25bf9ea6ded06b7f8a54c91f'/>
<id>2dce4c2b5f0b43bd25bf9ea6ded06b7f8a54c91f</id>
<content type='text'>
The code in cfg80211's cfg80211_bss_update erroneously
grabs a reference to the BSS, which means that it will
never be freed.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: stable@kernel.org [2.6.29, 2.6.30]
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The code in cfg80211's cfg80211_bss_update erroneously
grabs a reference to the BSS, which means that it will
never be freed.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: stable@kernel.org [2.6.29, 2.6.30]
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nl80211: bounce scan request back to userspace</title>
<updated>2009-06-03T18:05:10+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-05-24T14:43:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=362a415dce2130b0e4cebfc8f8fbd8128baff308'/>
<id>362a415dce2130b0e4cebfc8f8fbd8128baff308</id>
<content type='text'>
When a scan finishes only the program that asked for it
knows what kind of scan it was; let's tell everybody else
about the scan parameters as well so they can evaluate
the result of the scan better. Also helps with debugging.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a scan finishes only the program that asked for it
knows what kind of scan it was; let's tell everybody else
about the scan parameters as well so they can evaluate
the result of the scan better. Also helps with debugging.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6</title>
<updated>2009-05-08T19:46:17+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-05-08T19:46:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a8679be2073392cf22a910bc25da0c7d36459845'/>
<id>a8679be2073392cf22a910bc25da0c7d36459845</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-05-08T09:48:30+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-05-08T09:48:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=22f6dacdfcfdc792d068e9c41234808860498d04'/>
<id>22f6dacdfcfdc792d068e9c41234808860498d04</id>
<content type='text'>
Conflicts:
	include/net/tcp.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	include/net/tcp.h
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: Use the correct IE buffer pointer</title>
<updated>2009-05-06T19:14:44+00:00</updated>
<author>
<name>Michael Buesch</name>
<email>mb@bu3sch.de</email>
</author>
<published>2009-04-26T09:27:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=44e1b98f733e48bb781e4229120e1de5e0c9fdbb'/>
<id>44e1b98f733e48bb781e4229120e1de5e0c9fdbb</id>
<content type='text'>
If the IE buffer was allocated, the pub.information_elements pointer
was also changed to the allocated space. So we must not assume anymore
that the pointer points at the "found" tail.

So if it was allocated previously, take the codebranch that grows the
buffer size (if necessary) and put the data into the allocated buffer.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the IE buffer was allocated, the pub.information_elements pointer
was also changed to the allocated space. So we must not assume anymore
that the pointer points at the "found" tail.

So if it was allocated previously, take the codebranch that grows the
buffer size (if necessary) and put the data into the allocated buffer.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: Remove unnecessary ksize() call</title>
<updated>2009-05-06T19:14:42+00:00</updated>
<author>
<name>Michael Buesch</name>
<email>mb@bu3sch.de</email>
</author>
<published>2009-04-25T20:28:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=273de92c8461776aaac7b32f8d5889a72b38ea10'/>
<id>273de92c8461776aaac7b32f8d5889a72b38ea10</id>
<content type='text'>
This removes an unnecessary ksize() call. krealloc() will do this
test internally and won't perform any allocation if the space is
already sufficient to hold the data.
So remove the redundant check.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Reviewed-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes an unnecessary ksize() call. krealloc() will do this
test internally and won't perform any allocation if the space is
already sufficient to hold the data.
So remove the redundant check.

Signed-off-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Reviewed-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: fix truncated IEs</title>
<updated>2009-05-04T20:22:10+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-04-30T18:09:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c0f0aac05fa84b37ed46db8cf6c8bee9a67bbcca'/>
<id>c0f0aac05fa84b37ed46db8cf6c8bee9a67bbcca</id>
<content type='text'>
Another bug in the "cfg80211: do not replace BSS structs" patch,
a forgotten length update leads to bogus data being stored and
passed to userspace, often truncated.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Another bug in the "cfg80211: do not replace BSS structs" patch,
a forgotten length update leads to bogus data being stored and
passed to userspace, often truncated.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: mark all WEXT handlers _GPL</title>
<updated>2009-04-22T20:57:18+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-04-20T16:49:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ba44cb7226afd4e19308c1d8a90e8b7c566c0d8b'/>
<id>ba44cb7226afd4e19308c1d8a90e8b7c566c0d8b</id>
<content type='text'>
The fact that these are exported is a technical detail
of the conversion period -- we don't want anybody to
start relying on these. Ultimately we want things to
use cfg80211 only, and once everything that is in wext
is converted to cfg80211 drivers will not need to touch
wext _at all_.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fact that these are exported is a technical detail
of the conversion period -- we don't want anybody to
start relying on these. Ultimately we want things to
use cfg80211 only, and once everything that is in wext
is converted to cfg80211 drivers will not need to touch
wext _at all_.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
