<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/mesh_pathtbl.c, branch linux-4.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-02-24T08:04:36Z</updated>
<entry>
<title>mac80211: Unify mesh and mpp path removal function</title>
<updated>2016-02-24T08:04:36Z</updated>
<author>
<name>Henning Rogge</name>
</author>
<published>2016-02-03T12:58:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4cc955de7c99fe60b09688d7c2564f8fc7d00ca2'/>
<id>urn:sha1:4cc955de7c99fe60b09688d7c2564f8fc7d00ca2</id>
<content type='text'>
mpp_path_del() and mesh_path_del() are mostly the same function.
Move common code into a new static function.

Acked-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Henning Rogge &lt;henning.rogge@fkie.fraunhofer.de&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: let unused MPP table entries timeout</title>
<updated>2016-02-24T08:04:35Z</updated>
<author>
<name>Henning Rogge</name>
</author>
<published>2016-02-03T12:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab1c7906b0bead549065a3a2def5aeda21818c99'/>
<id>urn:sha1:ab1c7906b0bead549065a3a2def5aeda21818c99</id>
<content type='text'>
Remember the last time when a mpp table entry is used for
rx or tx and remove them after MESH_PATH_EXPIRE time.

Acked-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Henning Rogge &lt;henning.rogge@fkie.fraunhofer.de&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Remove MPP table entries with MPath</title>
<updated>2016-02-24T08:04:35Z</updated>
<author>
<name>Henning Rogge</name>
</author>
<published>2016-02-03T12:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bf5a70e105820eb214d3f33376cf6a3011d2e20c'/>
<id>urn:sha1:bf5a70e105820eb214d3f33376cf6a3011d2e20c</id>
<content type='text'>
Make the mesh_path_del() function remove all mpp table entries
that are proxied by the removed mesh path.

Acked-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Henning Rogge &lt;henning.rogge@fkie.fraunhofer.de&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: mesh: drop constant field mean_chain_len</title>
<updated>2016-02-24T08:04:29Z</updated>
<author>
<name>Bob Copeland</name>
</author>
<published>2016-01-30T18:17:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f73fe9fd8703123faf663908923ca9e62cb984e'/>
<id>urn:sha1:3f73fe9fd8703123faf663908923ca9e62cb984e</id>
<content type='text'>
The mean_chain_len field in struct mesh_table is copied whenever a
new mesh table is allocated, but only ever has the value 2 and is
never otherwise updated, so just remove it and use the related
define instead.

Signed-off-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: mesh: print MAC address instead of pointer</title>
<updated>2015-12-04T13:43:32Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2015-11-06T10:30:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d671b2a077a92ff71ad76fba0e8bfd1b7c5ca820'/>
<id>urn:sha1:d671b2a077a92ff71ad76fba0e8bfd1b7c5ca820</id>
<content type='text'>
There's no point in printing the mpath pointer since it can't
be used for anything - print the MAC address instead (like in
the forwarding case.)

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Acked-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: mesh: fix call_rcu() usage</title>
<updated>2015-11-17T14:49:25Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2015-11-17T13:25:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2e703a55245bfff3db53b1f7cbe59f1ee8a4339'/>
<id>urn:sha1:c2e703a55245bfff3db53b1f7cbe59f1ee8a4339</id>
<content type='text'>
When using call_rcu(), the called function may be delayed quite
significantly, and without a matching rcu_barrier() there's no
way to be sure it has finished.
Therefore, global state that could be gone/freed/reused should
never be touched in the callback.

Fix this in mesh by moving the atomic_dec() into the caller;
that's not really a problem since we already unlinked the path
and it will be destroyed anyway.

This fixes a crash Jouni observed when running certain tests in
a certain order, in which the mesh interface was torn down, the
memory reused for a function pointer (work struct) and running
that then crashed since the pointer had been decremented by 1,
resulting in an invalid instruction byte stream.

Cc: stable@vger.kernel.org
Fixes: eb2b9311fd00 ("mac80211: mesh path table implementation")
Reported-by: Jouni Malinen &lt;j@w1.fi&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: implement cfg80211_ops to query mesh proxy path table</title>
<updated>2014-10-09T09:19:07Z</updated>
<author>
<name>Henning Rogge</name>
</author>
<published>2014-09-12T06:58:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2db2ed3fb7d35ff2405d08fc012a5db8ddb36e0'/>
<id>urn:sha1:a2db2ed3fb7d35ff2405d08fc012a5db8ddb36e0</id>
<content type='text'>
Implement get_mpp and dump_mpp cfg80211_ops to export the content of the
802.11s mesh proxy path table to userspace.

Signed-off-by: Henning Rogge &lt;henning.rogge@fkie.fraunhofer.de&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Replace rcu_dereference() with rcu_access_pointer()</title>
<updated>2014-08-27T10:14:10Z</updated>
<author>
<name>Andreea-Cristina Bernat</name>
</author>
<published>2014-08-17T13:18:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2688eba9d5ba2a35ac8e5efa2e228f105f0a379f'/>
<id>urn:sha1:2688eba9d5ba2a35ac8e5efa2e228f105f0a379f</id>
<content type='text'>
The "rcu_dereference()" calls are used directly in conditions.
Since their return values are never dereferenced it is recommended to
use "rcu_access_pointer()" instead of "rcu_dereference()".
Therefore, this patch makes the replacements.

The following Coccinelle semantic patch was used:
@@
@@

(
 if(
 (&lt;+...
- rcu_dereference
+ rcu_access_pointer
  (...)
  ...+&gt;)) {...}
|
 while(
 (&lt;+...
- rcu_dereference
+ rcu_access_pointer
  (...)
  ...+&gt;)) {...}
)

Signed-off-by: Andreea-Cristina Bernat &lt;bernat.ada@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: remove BUG_ON usage</title>
<updated>2014-04-29T15:59:27Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2014-04-29T15:55:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c5bb1fad0bb9c29f7d817c1e2fdb052b76f04e9'/>
<id>urn:sha1:8c5bb1fad0bb9c29f7d817c1e2fdb052b76f04e9</id>
<content type='text'>
These BUG_ON statements should never trigger, but in the unlikely
event that somebody does manage don't stop everything but simply
exit the code path with an error.

Leave the one BUG_ON where changing it would result in a NULL
pointer dereference.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: use put_unaligned_le in mesh when necessary</title>
<updated>2013-11-25T19:51:55Z</updated>
<author>
<name>Chun-Yeow Yeoh</name>
</author>
<published>2013-11-13T07:39:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f63f8421d468575ae7bb62cfcf0398613c746975'/>
<id>urn:sha1:f63f8421d468575ae7bb62cfcf0398613c746975</id>
<content type='text'>
Use put_unaligned_le16 and put_unaligned_le32 for
mesh_path_error_tx and mesh_path_sel_frame_tx.

Signed-off-by: Chun-Yeow Yeoh &lt;yeohchunyeow@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
