<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/net/batman-adv/gateway_client.c, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2015-08-04T22:31:47+00:00</updated>
<entry>
<title>batman-adv: initialize up/down values when adding a gateway</title>
<updated>2015-08-04T22:31:47+00:00</updated>
<author>
<name>Simon Wunderlich</name>
<email>simon@open-mesh.com</email>
</author>
<published>2015-06-24T12:50:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=27a4d5efd417b6ef3190e9af357715532d4617a3'/>
<id>urn:sha1:27a4d5efd417b6ef3190e9af357715532d4617a3</id>
<content type='text'>
Without this initialization, gateways which actually announce up/down
bandwidth of 0/0 could be added. If these nodes get purged via
_batadv_purge_orig() later, the gw_node structure does not get removed
since batadv_gw_node_delete() updates the gw_node with up/down
bandwidth of 0/0, and the updating function then discards the change
and does not free gw_node.

This results in leaking the gw_node structures, which references other
structures: gw_node -&gt; orig_node -&gt; orig_node_ifinfo -&gt; hardif. When
removing the interface later, the open reference on the hardif may cause
hangs with the infamous "unregister_netdevice: waiting for mesh1 to
become free. Usage count = 1" message.

Signed-off-by: Simon Wunderlich &lt;simon@open-mesh.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
</content>
</entry>
<entry>
<title>batman-adv: Remove unused post-VLAN ethhdr in batadv_gw_dhcp_recipient_get</title>
<updated>2015-06-07T15:07:20+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2015-04-23T16:22:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=7dac6d9391b89fd85bb5eddd18506ae759c9a57b'/>
<id>urn:sha1:7dac6d9391b89fd85bb5eddd18506ae759c9a57b</id>
<content type='text'>
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
</entry>
<entry>
<title>batman-adv: Add required includes to all files</title>
<updated>2015-06-07T15:07:19+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2015-04-17T17:40:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1e2c2a4fe4a52cc55a78727778119f9a74283b8a'/>
<id>urn:sha1:1e2c2a4fe4a52cc55a78727778119f9a74283b8a</id>
<content type='text'>
The header files could not be build indepdent from each other. This is
happened because headers didn't include the files for things they've used.
This was problematic because the success of a build depended on the
knowledge about the right order of local includes.

Also source files were not including everything they've used explicitly.
Instead they required that transitive includes are always stable. This is
problematic because some transitive includes are not obvious, depend on
config settings and may not be stable in the future.

The order for include blocks are:

 * primary headers (main.h and the *.h file of a *.c file)
 * global linux headers
 * required local headers
 * extra forward declarations for pointers in function/struct declarations

The only exceptions are linux/bitops.h and linux/if_ether.h in packet.h.
This header file is shared with userspace applications like batctl and must
therefore build together with userspace applications. The header
linux/bitops.h is not part of the uapi headers and linux/if_ether.h
conflicts with the musl implementation of netinet/if_ether.h. The
maintainers rejected the use of __KERNEL__ preprocessor checks and thus
these two headers are only in main.h. All files using packet.h first have
to include main.h to work correctly.

Reported-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
</entry>
<entry>
<title>batman-adv: update copyright years for 2015</title>
<updated>2015-05-29T08:13:35+00:00</updated>
<author>
<name>Sven Eckelmann</name>
<email>sven@narfation.org</email>
</author>
<published>2015-04-23T11:16:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=9f6446c7f9af084763037334d37e85dacfcbd403'/>
<id>urn:sha1:9f6446c7f9af084763037334d37e85dacfcbd403</id>
<content type='text'>
Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
</entry>
<entry>
<title>batman-adv: Fix use of seq_has_overflowed()</title>
<updated>2015-02-22T22:00:08+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2015-02-22T21:47:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=92b839175064632813a7c4b7e180efde4c08c850'/>
<id>urn:sha1:92b839175064632813a7c4b7e180efde4c08c850</id>
<content type='text'>
net-next commit 6d91147d183c ("batman-adv: Remove uses of return value
of seq_printf") incorrectly changed the overflow occurred return from
-1 to 1.  Change it back so that the test of batadv_write_buffer_text's
return value in batadv_gw_client_seq_print_text works properly.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>batman-adv: Remove uses of return value of seq_printf</title>
<updated>2015-02-20T20:18:26+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2015-02-17T01:31:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=6d91147d183c87d290f3b062d3fbf1ede312b449'/>
<id>urn:sha1:6d91147d183c87d290f3b062d3fbf1ede312b449</id>
<content type='text'>
This function is soon going to return void so remove the
return value use.

Convert the return value to test seq_has_overflowed() instead.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>batman-adv: checkpatch - Please use a blank line after declarations</title>
<updated>2015-01-07T16:21:55+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@meshcoding.com</email>
</author>
<published>2014-09-01T12:37:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=aa143d2837325d66150e1566b22b61f0c7a843c9'/>
<id>urn:sha1:aa143d2837325d66150e1566b22b61f0c7a843c9</id>
<content type='text'>
Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
</entry>
<entry>
<title>batman-adv: avoid NULL dereferences and fix if check</title>
<updated>2014-12-24T04:13:37+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@meshcoding.com</email>
</author>
<published>2014-12-20T12:48:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0d1644919578db525b9a7b6c8197ce02adbfce26'/>
<id>urn:sha1:0d1644919578db525b9a7b6c8197ce02adbfce26</id>
<content type='text'>
Gateway having bandwidth_down equal to zero are not accepted
at all and so never added to the Gateway list.
For this reason checking the bandwidth_down member in
batadv_gw_out_of_range() is useless.

This is probably a copy/paste error and this check was supposed
to be "!gw_node" only. Moreover, the way the check is written
now may also lead to a NULL dereference.

Fix this by rewriting the if-condition properly.

Introduced by 414254e342a0d58144de40c3da777521ebaeeb07
("batman-adv: tvlv - gateway download/upload bandwidth container")

Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Reported-by: David Binderman &lt;dcb314@hotmail.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>batman-adv: increase orig refcount when storing ref in gw_node</title>
<updated>2014-05-15T18:03:17+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@open-mesh.com</email>
</author>
<published>2014-05-01T23:35:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=377fe0f968b30a1a714fab53a908061914f30e26'/>
<id>urn:sha1:377fe0f968b30a1a714fab53a908061914f30e26</id>
<content type='text'>
A pointer to the orig_node representing a bat-gateway is
stored in the gw_node-&gt;orig_node member, but the refcount
for such orig_node is never increased.
This leads to memory faults when gw_node-&gt;orig_node is accessed
and the originator has already been freed.

Fix this by increasing the refcount on gw_node creation
and decreasing it on gw_node free.

Signed-off-by: Antonio Quartulli &lt;antonio@open-mesh.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
</entry>
<entry>
<title>batman-adv: prefer ether_addr_copy to memcpy</title>
<updated>2014-03-22T07:50:26+00:00</updated>
<author>
<name>Antonio Quartulli</name>
<email>antonio@meshcoding.com</email>
</author>
<published>2014-01-21T23:42:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=8fdd01530cda849ba531e7e9d8674fbc81ab5782'/>
<id>urn:sha1:8fdd01530cda849ba531e7e9d8674fbc81ab5782</id>
<content type='text'>
On some architectures ether_addr_copy() is slightly faster
than memcpy() therefore use the former when possible.

Signed-off-by: Antonio Quartulli &lt;antonio@meshcoding.com&gt;
Signed-off-by: Marek Lindner &lt;mareklindner@neomailbox.ch&gt;
</content>
</entry>
</feed>
