The annotated tag, batman-adv-for-davem has been updated
to 2f8800869688941db44bcd160c4836bd8baa0fbf (tag)
from 8949f106e8f51c069f8db11c7c920e7af0ebeed0 (which is now obsolete)
tagging 0c81465357ffe29da9ff20103afe4a59908e0d30 (commit)
replaces v3.9-rc3
tagged by Antonio Quartulli
on Wed Mar 27 11:11:58 2013 +0100
- Shortlog ------------------------------------------------------------
Included changes:
- A fix for the network coding component which has been added within the last
pull request (so it is in linux-3.10). The problem has been spotted thanks to
Fengguang Wu's automated daily checks on our tree.
- Implementation of the RTNL API for virtual interface creation/deletion and slave
manipulation
- substitution of seq_printf with seq_puts when possible
- minor cleanups
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQIcBAABCAAGBQJRUsb7AAoJEADl0hg6qKeOf/sQAJ4VRwpB5WLIjtLPQ1Dvd/qu
thPAn4vpv02Is8H7NRULRN9aqUIzWrWtXkhBTAOh0EHq3mki6a+QT4TUQ4qswTPv
BaVS70hoTtN1OdcntWTATCUuX2Y2HD/D3Cw2IZIG7X9oqTEpoTpnuQygMsG/c1+s
MtNO57/WUKlwLv0pAu9IHh4qCj00eF5YHsPmsWzoWAvi/4aCgESQfXGy4Dm6HqLB
E8XuVLOLtw7NSw0V7n//KtEE2llTWkfslm06dSsAmqEtzOfOCCuA4Z0asnMPJt7s
4HknqNE0D0aR0sfS+W6G24gFQbIV8R4SYWnUfMFCvvT7Ds96RONdgkfWw39nM7XB
y70kXUbfDBIeHiiV2uqbTZnbuAa61p8Y8jCJvWz0nujI1/QPnUA1bqEgC2AMTc1J
I6rS8mhWC6Rg+ohkK7HSQfgiZ5xcWtjFuVuOhKr0cPwhaCI0yP5PCB/B3yxuJxwD
egkL58fgPhgii3DOxInAqLS/aPT5vl49J91qC3+z2/xYS3zRxHsyIRkMwgfoI2Ab
TofVmzKqDwENA+CnjCPQx2gn6w/QpK8g5xmW1GgbzuKddiCcQFKnezgpeSdnQrsM
CP/8Tu6r3QSLlHebysMuhsCwyT1hv8Yt0PTDpBqtIXRpV5enTYa9xW3F+UTU65ZY
p9fKQXJYDLLEhfcy/TJM
=FoTZ
-----END PGP SIGNATURE-----
Antonio Quartulli (4):
batman-adv: don't use !! in bool conversion
batman-adv: free an hard-interface before adding it
batman-adv: update Makefile copyright years
batman-adv: use seq_puts instead of seq_printf when the format is constant
Marek Lindner (3):
batman-adv: verify tt len does not exceed packet len
batman-adv: replace redundant primary_if_get calls
batman-adv: rename batadv_softif_destroy to reflect sysfs use case
Martin Hundebøll (8):
batman-adv: Return reason for failure in batadv_check_unicast_packet()
batman-adv: network coding - add the initial infrastructure code
batman-adv: network coding - detect coding nodes and remove these after timeout
batman-adv: network coding - buffer unicast packets before forward
batman-adv: network coding - code and transmit packets if possible
batman-adv: network coding - save overheard and tx packets for decoding
batman-adv: network coding - receive coded packets and decode them
batman-adv: Fix endianness errors for network coding
Simon Wunderlich (1):
batman-adv: Start new development cycle
Sven Eckelmann (5):
batman-adv: Move soft-interface initialization to ndo_init
batman-adv: Move deinitialization of soft-interface to destructor
batman-adv: Don't always delete softif when last slave was removed
batman-adv: Allow to use rntl_link for device creation/deletion
batman-adv: Allow to modify slaves of soft-interfaces through rntl_link
-----------------------------------------------------------------------
--
linux integration
Repository : ssh://git@open-mesh.org/batman-adv
Branch 'master' now includes:
9e96c4d batman-adv: fix old master freeing operation
174cf3a batman-adv: use seq_puts instead of seq_printf when the format is constant
a1eecdd batman-adv: fix interface clean up on error
b3b036c Merge branch 'next'
Repository : ssh://git@open-mesh.org/batman-adv
On branch : next
>---------------------------------------------------------------
commit a1eecddcb39f1a25506683d98ce349087b258ab4
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Mon Mar 25 09:24:10 2013 +0100
batman-adv: fix interface clean up on error
When enabling an hard_iface for the first time, the
hard_iface->soft_iface member is initialised with the newly
created soft_iface.
However, in case of error during the activation procedure
this member has to be set to NULL again, otherwise the
hard_iface will result busy and will not be possible to use
it anymore
This issue has been introduced with edd08535c00a42143989118bc999060893ce0a41
("batman-adv: Allow to modify slaves of soft-interfaces through rntl_link")
Signed-off-by: Antonio Quartulli <ordex(a)autistici.org>
Signed-off-by: Marek Lindner <lindner_marek(a)yahoo.de>
>---------------------------------------------------------------
a1eecddcb39f1a25506683d98ce349087b258ab4
hard-interface.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hard-interface.c b/hard-interface.c
index 37c1b51..522243a 100644
--- a/hard-interface.c
+++ b/hard-interface.c
@@ -435,6 +435,7 @@ out:
err_upper:
netdev_upper_dev_unlink(hard_iface->net_dev, soft_iface);
err_dev:
+ hard_iface->soft_iface = NULL;
dev_put(soft_iface);
err:
batadv_hardif_free_ref(hard_iface);
Repository : ssh://git@open-mesh.org/batman-adv
On branch : next
>---------------------------------------------------------------
commit 9e96c4d373e45322d98ca177f7c4cc0b97f282d5
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Fri Mar 22 09:49:55 2013 +0100
batman-adv: fix old master freeing operation
When a new hard_iface has a master already, ndo_del_slave
has to be used in order to let the old master perform its
cleaning up routine correctly. Unsetting the master iface
only can lead to a inconsistent state in the master driver.
Introduced by 5e57e3bff429cd403f0e30af69cf87a2cd55598f
("batman-adv: free an hard-interface before adding it").
Reported-by: Marek Lindner <lindner_marek(a)yahoo.de>
Signed-off-by: Simon Wunderlich <siwu(a)hrz.tu-chemnitz.de>
Signed-off-by: Antonio Quartulli <ordex(a)autistici.org>
Signed-off-by: Marek Lindner <lindner_marek(a)yahoo.de>
>---------------------------------------------------------------
9e96c4d373e45322d98ca177f7c4cc0b97f282d5
compat.h | 3 +++
hard-interface.c | 29 +++++++++++++++++++++++++++--
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/compat.h b/compat.h
index ba07ae4..0663df5 100644
--- a/compat.h
+++ b/compat.h
@@ -161,6 +161,9 @@ static const struct { \
} __attribute__((unused)) __useless_ops1 = { \
.ndo_validate_addr
+#define ndo_del_slave ndo_init
+#define ndo_init(x, y) ndo_init - master->netdev_ops->ndo_init - EBUSY
+
#endif /* < KERNEL_VERSION(2, 6, 39) */
diff --git a/hard-interface.c b/hard-interface.c
index fd99e42..37c1b51 100644
--- a/hard-interface.c
+++ b/hard-interface.c
@@ -307,6 +307,30 @@ batadv_hardif_deactivate_interface(struct batadv_hard_iface *hard_iface)
batadv_update_min_mtu(hard_iface->soft_iface);
}
+/**
+ * batadv_master_del_slave - remove hard_iface from the current master interface
+ * @slave: the interface enslaved in another master
+ * @master: the master from which slave has to be removed
+ *
+ * Invoke ndo_del_slave on master passing slave as argument. In this way slave
+ * is free'd and master can correctly change its internal state.
+ * Return 0 on success, a negative value representing the error otherwise
+ */
+static int batadv_master_del_slave(struct batadv_hard_iface *slave,
+ struct net_device *master)
+{
+ int ret;
+
+ if (!master)
+ return 0;
+
+ ret = -EBUSY;
+ if (master->netdev_ops->ndo_del_slave)
+ ret = master->netdev_ops->ndo_del_slave(master, slave->net_dev);
+
+ return ret;
+}
+
int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface,
const char *iface_name)
{
@@ -346,8 +370,9 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface,
* in that case unlink it first
*/
master = netdev_master_upper_dev_get(hard_iface->net_dev);
- if (master)
- netdev_upper_dev_unlink(hard_iface->net_dev, master);
+ ret = batadv_master_del_slave(hard_iface, master);
+ if (ret)
+ goto err_dev;
hard_iface->soft_iface = soft_iface;
bat_priv = netdev_priv(hard_iface->soft_iface);
The annotated tag, v3.9-rc4 has been created
at d3318b414811d5393b4535ab6cb5aeddb57a4e5b (tag)
tagging 8bb9660418e05bb1845ac1a2428444d78e322cc7 (commit)
replaces v3.9-rc3
tagged by Linus Torvalds
on Sat Mar 23 16:52:52 2013 -0700
- Shortlog ------------------------------------------------------------
Linux 3.9-rc4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQEcBAABAgAGBQJRTkBaAAoJEHm+PkMAQRiGnK8H/iAtbU3o8th651xsVY/X1lTy
uzFmZpfjwfM+OB5n69qcZL+V9I0b54ZKOa98OAtWlMPXifTWdznDNStqvQeRmodr
Eet/W9MwgsaBDw+/vaJKuBf5ny3msayPSA1jkVAjb1VfpheH5zvLXNo1857FoSfi
cl9jrD3tIrM6EmNwR+EWANjb1xYtJfnbtnF6xHpcEG64bcidEv8ZC7V48KNL16Dt
Duy5+ZIsGoHsMj45y35KP032NtBpPvCmmXOjkO8fwwAwK+IvyivKJFfo3UlvmVdr
seHQ5RgI/g0SCupLx6N4fBUNfYi/7yNn/ZAiNO06g0ErmOSs38KlRFDg63tLZ+g=
=yJhy
-----END PGP SIGNATURE-----
Marek Lindner (1):
batman-adv: verify tt len does not exceed packet len
-----------------------------------------------------------------------
--
linux integration