[linux-merge]linux integration; annotated tag, v3.13-rc2, created. v3.13-rc2
by postmaster@open-mesh.org
The annotated tag, v3.13-rc2 has been created
at 74c87395184969ce9f20e902f756cc7256ad2c20 (tag)
tagging dc1ccc48159d63eca5089e507c82c7d22ef60839 (commit)
replaces v3.13-rc1
tagged by Linus Torvalds
on Fri Nov 29 12:57:21 2013 -0800
- Shortlog ------------------------------------------------------------
Linux 3.13-rc2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)
iQEcBAABAgAGBQJSmP+xAAoJEHm+PkMAQRiGGu0H/1zl/7205dkTA207JArk8VTw
pSeOwhk5raOFv+OyvhoRyn/nxY9w0NStYO6z1V9oiIFO6qhQRdc9nWcQDkgPjdNC
Exsp8Mc8HYjiG2Dn2KRt5Oe/gigJjN3SYkAuyij32Hx0CPAoiUsfL7JUXAKnw2XX
sfGQtqYdJQvlHxD2F9tf1a5ws41i/slAWzs3fDUUX86BR8oGddBfudeZebU9vPnR
JaT8ylwAdr9RC+ncqVAyX+9qsgOdAWvTJnhlwyLMNY6weaK6nx57bu0HSmqgNAly
atadh8J/zhZr6g2OTUr3/t3Zq9GotYQ9obvekKA4veWAILE3kWLhCROeLBlRY8U=
=C0NF
-----END PGP SIGNATURE-----
-----------------------------------------------------------------------
--
linux integration
9 years, 2 months
[batman-adv] master: batman-adv: fix rcu pointer comparison problem (f2a1300)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit f2a130060f657c07fe78d6fae8bb593670d9033f
Author: Simon Wunderlich <simon(a)open-mesh.com>
Date: Sun Nov 24 14:05:45 2013 +0100
batman-adv: fix rcu pointer comparison problem
sparse complained about:
routing.c:482:64: error: incompatible types in comparison expression
(different address spaces)
This was due to comparing a __rcu pointer with a regular one. Fix that
by adding the missing rcu_dereference call. A temporary variable is used
to comply with the line length limit, use the opportunity to beautify a
few other places.
This problem was introduced in commit
797edd9e87ac838711e03498a4ae795b600191af ("batman-adv: add bonding
again")
Signed-off-by: Simon Wunderlich <simon(a)open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
f2a130060f657c07fe78d6fae8bb593670d9033f
routing.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/routing.c b/routing.c
index 23311f5..7aac5b3 100644
--- a/routing.c
+++ b/routing.c
@@ -430,8 +430,10 @@ batadv_find_router(struct batadv_priv *bat_priv,
struct batadv_neigh_node *first_candidate_router = NULL;
struct batadv_neigh_node *next_candidate_router = NULL;
struct batadv_neigh_node *router, *cand_router = NULL;
+ struct batadv_neigh_node *last_cand_router = NULL;
struct batadv_orig_ifinfo *cand, *first_candidate = NULL;
struct batadv_orig_ifinfo *next_candidate = NULL;
+ struct batadv_orig_ifinfo *last_candidate;
bool last_candidate_found = false;
if (!orig_node)
@@ -455,6 +457,10 @@ batadv_find_router(struct batadv_priv *bat_priv,
* router - obviously there are no other candidates.
*/
rcu_read_lock();
+ last_candidate = orig_node->last_bonding_candidate;
+ if (last_candidate)
+ last_cand_router = rcu_dereference(last_candidate->router);
+
hlist_for_each_entry_rcu(cand, &orig_node->ifinfo_list, list) {
/* acquire some structures and references ... */
if (!atomic_inc_not_zero(&cand->refcount))
@@ -478,9 +484,8 @@ batadv_find_router(struct batadv_priv *bat_priv,
goto next;
/* don't use the same router twice */
- if (orig_node->last_bonding_candidate &&
- (orig_node->last_bonding_candidate->router == cand_router))
- goto next;
+ if (last_cand_router == cand_router)
+ goto next;
/* mark the first possible candidate */
if (!first_candidate) {
@@ -494,14 +499,13 @@ batadv_find_router(struct batadv_priv *bat_priv,
* candidate ... this function should select the next candidate
* AFTER the previously used bonding candidate.
*/
- if (!orig_node->last_bonding_candidate ||
- last_candidate_found) {
+ if (!last_candidate || last_candidate_found) {
next_candidate = cand;
next_candidate_router = cand_router;
break;
}
- if (orig_node->last_bonding_candidate == cand)
+ if (last_candidate == cand)
last_candidate_found = true;
next:
/* free references */
9 years, 2 months
[batman-adv] master: batman-adv: fix wrong alignment for batadv_originators_hardif_open (dd51052)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit dd510526e0c72640417fbcfbce56eeb49ccff89a
Author: Simon Wunderlich <simon(a)open-mesh.com>
Date: Sun Nov 24 14:05:44 2013 +0100
batman-adv: fix wrong alignment for batadv_originators_hardif_open
Introduced in my commit f13f960797fd1969b3c0470cc97435ddfb6aecb4
("batman-adv: add debugfs support to view multiif tables")
Signed-off-by: Simon Wunderlich <simon(a)open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
dd510526e0c72640417fbcfbce56eeb49ccff89a
debugfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debugfs.c b/debugfs.c
index cd5d24a..fcdb51b 100644
--- a/debugfs.c
+++ b/debugfs.c
@@ -252,7 +252,7 @@ static int batadv_originators_open(struct inode *inode, struct file *file)
* @file: pointer to the seq_file
*/
static int batadv_originators_hardif_open(struct inode *inode,
- struct file *file)
+ struct file *file)
{
struct net_device *net_dev = (struct net_device *)inode->i_private;
return single_open(file, batadv_orig_hardif_seq_print_text, net_dev);
9 years, 2 months
[batman-adv] master: batman-adv: fix another sparse warning in batadv_iv_ogm_emit (20978ca)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit 20978cae66114f4dce6ba7f9f980eadfccff8570
Author: Simon Wunderlich <simon(a)open-mesh.com>
Date: Sun Nov 24 14:05:43 2013 +0100
batman-adv: fix another sparse warning in batadv_iv_ogm_emit
Since the directlink variable was not needed anymore and was removed,
more variables are now obsolete too, so remove them.
The directlink flag commit (which was obviously incomplete) was
a0fc2f129f7193cbdd7e9c2e4da0d6e7ac15dd58 ("batman-adv: fix sparse warning
in batadv_iv_ogm_emit"), which itself was a fix for
29b9256e6631876d4f1719f4d5e13d7ee140c61b ("batman-adv: consider outgoing
interface in OGM sending").
Signed-off-by: Simon Wunderlich <simon(a)open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
20978cae66114f4dce6ba7f9f980eadfccff8570
bat_iv_ogm.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c
index 92165cb..b9aec98 100644
--- a/bat_iv_ogm.c
+++ b/bat_iv_ogm.c
@@ -466,11 +466,6 @@ static void batadv_iv_ogm_emit(struct batadv_forw_packet *forw_packet)
struct net_device *soft_iface;
struct batadv_priv *bat_priv;
struct batadv_hard_iface *primary_if = NULL;
- struct batadv_ogm_packet *batadv_ogm_packet;
- uint8_t *packet_pos;
-
- packet_pos = forw_packet->skb->data;
- batadv_ogm_packet = (struct batadv_ogm_packet *)packet_pos;
if (!forw_packet->if_incoming) {
pr_err("Error - can't forward packet: incoming iface not specified\n");
9 years, 2 months
[batman-adv] master: batman-adv: fix compat macro for kstrtou32 (28dab26)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit 28dab2693a0e52b15789bb67360aa27c3cf6df0f
Author: Antonio Quartulli <antonio(a)meshcoding.com>
Date: Fri Nov 22 18:38:30 2013 +0100
batman-adv: fix compat macro for kstrtou32
The macro previously introduced in the compat code to replace
kstrtou32() may not work properly in case of a too large
user input.
Fix it by using a temporary variable of the proper length
and then cast the result.
Possibly return -ERANGE is the result is too big to fix a 32bit
long variable.
Cc: Matthias Schiffer <mschiffer(a)universe-factory.net>
Signed-off-by: Antonio Quartulli <antonio(a)meshcoding.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
28dab2693a0e52b15789bb67360aa27c3cf6df0f
compat.h | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/compat.h b/compat.h
index a050bb8..6daeff9 100644
--- a/compat.h
+++ b/compat.h
@@ -152,8 +152,16 @@ static inline int batadv_param_set_copystring(const char *val,
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
-/* cast last argument of strict_strtoul() because we have a uint32_t */
-#define kstrtou32(cp, base, v) strict_strtoul(cp, base, (unsigned long *)v)
+#define kstrtou32(cp, base, v)\
+({\
+ unsigned long _v;\
+ int _r;\
+ _r = strict_strtoul(cp, base, &_v);\
+ *(v) = (uint32_t)_v;\
+ if ((unsigned long)*(v) != _v)\
+ _r = -ERANGE;\
+ _r;\
+})
#define kstrtoul strict_strtoul
#define kstrtol strict_strtol
9 years, 2 months
[batman-adv] master: batman-adv: fix orig_node multiif regression in network coding (d078de3)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit d078de322df4be35651333070f6eb6f377181416
Author: Simon Wunderlich <simon(a)open-mesh.com>
Date: Fri Nov 22 13:02:07 2013 +0100
batman-adv: fix orig_node multiif regression in network coding
A previous commit for the multi interface optimization did not
change the member access for orig_node to their respective new ifinfo
structures for the network coding implementation.
This was introduced by change de6bcc76ea84fecb136f8c8f5ba1862e4a13f06b
("batman-adv: split out router from orig_node")
Signed-off-by: Simon Wunderlich <simon(a)open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
d078de322df4be35651333070f6eb6f377181416
network-coding.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/network-coding.c b/network-coding.c
index 8678448..b2fde56 100644
--- a/network-coding.c
+++ b/network-coding.c
@@ -715,9 +715,21 @@ static bool batadv_can_nc_with_orig(struct batadv_priv *bat_priv,
struct batadv_orig_node *orig_node,
struct batadv_ogm_packet *ogm_packet)
{
- if (orig_node->last_real_seqno != ntohl(ogm_packet->seqno))
+ struct batadv_orig_ifinfo *orig_ifinfo;
+ uint32_t last_real_seqno;
+ uint8_t last_ttl;
+
+ orig_ifinfo = batadv_orig_ifinfo_get(orig_node, BATADV_IF_DEFAULT);
+ if (!orig_ifinfo)
+ return false;
+
+ last_ttl = orig_ifinfo->last_ttl;
+ last_real_seqno = orig_ifinfo->last_real_seqno;
+ batadv_orig_ifinfo_free_ref(orig_ifinfo);
+
+ if (last_real_seqno != ntohl(ogm_packet->seqno))
return false;
- if (orig_node->last_ttl != ogm_packet->header.ttl + 1)
+ if (last_ttl != ogm_packet->header.ttl + 1)
return false;
if (!batadv_compare_eth(ogm_packet->orig, ogm_packet->prev_sender))
return false;
9 years, 2 months
[batman-adv] master: batman-adv: fix neigh_node multiif regression in network coding (cb7ec5f)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit cb7ec5ff60a05ebecd141e87b4d544b82738b46d
Author: Simon Wunderlich <simon(a)open-mesh.com>
Date: Fri Nov 22 13:02:06 2013 +0100
batman-adv: fix neigh_node multiif regression in network coding
A previous commit for the multi interface optimization did not
change the member access for neigh_node to their respective new ifinfo
structures for the network coding implementation.
This was introduced by change 9bb33b8d88e318c4879d37d06ad28e3e018b9036
("batman-adv: split tq information in neigh_node struct")
Signed-off-by: Simon Wunderlich <simon(a)open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
cb7ec5ff60a05ebecd141e87b4d544b82738b46d
network-coding.c | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/network-coding.c b/network-coding.c
index 0b35e9e..8678448 100644
--- a/network-coding.c
+++ b/network-coding.c
@@ -1005,6 +1005,8 @@ static bool batadv_nc_code_packets(struct batadv_priv *bat_priv,
struct batadv_coded_packet *coded_packet;
struct batadv_neigh_node *neigh_tmp, *router_neigh;
struct batadv_neigh_node *router_coding = NULL;
+ struct batadv_neigh_ifinfo *router_neigh_ifinfo = NULL;
+ struct batadv_neigh_ifinfo *router_coding_ifinfo = NULL;
uint8_t *first_source, *first_dest, *second_source, *second_dest;
__be32 packet_id1, packet_id2;
size_t count;
@@ -1022,16 +1024,26 @@ static bool batadv_nc_code_packets(struct batadv_priv *bat_priv,
if (!router_neigh)
goto out;
+ router_neigh_ifinfo = batadv_neigh_ifinfo_get(router_neigh,
+ BATADV_IF_DEFAULT);
+ if (!router_neigh_ifinfo)
+ goto out;
+
neigh_tmp = nc_packet->neigh_node;
router_coding = batadv_orig_router_get(neigh_tmp->orig_node,
BATADV_IF_DEFAULT);
if (!router_coding)
goto out;
- tq_tmp = batadv_nc_random_weight_tq(router_neigh->bat_iv.tq_avg);
- tq_weighted_neigh = tq_tmp;
- tq_tmp = batadv_nc_random_weight_tq(router_coding->bat_iv.tq_avg);
- tq_weighted_coding = tq_tmp;
+ router_coding_ifinfo = batadv_neigh_ifinfo_get(router_coding,
+ BATADV_IF_DEFAULT);
+ if (!router_coding_ifinfo)
+ goto out;
+
+ tq_tmp = router_neigh_ifinfo->bat_iv.tq_avg;
+ tq_weighted_neigh = batadv_nc_random_weight_tq(tq_tmp);
+ tq_tmp = router_coding_ifinfo->bat_iv.tq_avg;
+ tq_weighted_coding = batadv_nc_random_weight_tq(tq_tmp);
/* Select one destination for the MAC-header dst-field based on
* weighted TQ-values.
@@ -1155,6 +1167,10 @@ out:
batadv_neigh_node_free_ref(router_neigh);
if (router_coding)
batadv_neigh_node_free_ref(router_coding);
+ if (router_neigh_ifinfo)
+ batadv_neigh_ifinfo_free_ref(router_neigh_ifinfo);
+ if (router_coding_ifinfo)
+ batadv_neigh_ifinfo_free_ref(router_coding_ifinfo);
return res;
}
9 years, 2 months
[linux-merge]linux integration; annotated tag, v3.13-rc1, created. v3.13-rc1
by postmaster@open-mesh.org
The annotated tag, v3.13-rc1 has been created
at 1c2570ad1851fffa1e34d8b74d2349b09a3e8c2a (tag)
tagging 6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae (commit)
replaces batman-adv-for-davem
tagged by Linus Torvalds
on Fri Nov 22 11:31:04 2013 -0800
- Shortlog ------------------------------------------------------------
Linux 3.13-rc1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)
iQEcBAABAgAGBQJSj7D4AAoJEHm+PkMAQRiGMU4H/iX/fPopg3y6aPqt24aujcdf
VgIp+zvWBDtXgCBfk47EEopgPIj4Dr94gT0V+Tv38ilwGQk3cJdDMeyB4cx/Nv6k
nsYfaj3+gafW6MHpPRJVKav4v37sLidPbjFvsiADn/4yXZxN0TF5UACg6eKrQWDz
OJjrSdhmPLepvr259UVTsNHft3BYLd1irMWZ/0IabSgfMIF+CqpmXeaJe/lOB4CK
bpHt6J/54rb79NkAIwtPGsJrzAVoSrw4cYw6s5fuU5rfB6bkS9CitqavkdY+qGTD
BfF+NUTN0k1dCd1AWxeTrQ+Zl7Atw50R7+ZQ5iIC68LJ4RBaqgpbN5wpot9nFoo=
=ZVPw
-----END PGP SIGNATURE-----
-----------------------------------------------------------------------
--
linux integration
9 years, 2 months
[batman-adv] master: batman-adv: fix sparse warning in batadv_iv_ogm_process_per_outif (930c3b9)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit 930c3b9ab7da424943fde620bb808df39e57a7e2
Author: Simon Wunderlich <simon(a)open-mesh.com>
Date: Fri Nov 22 13:30:27 2013 +0100
batman-adv: fix sparse warning in batadv_iv_ogm_process_per_outif
The orig_node_tmp variable is not needed anymore, and spare complains
about that. Remove it.
This variable was used for line length reasons and usage was removed
in de6bcc76ea84fecb136f8c8f5ba1862e4a13f06b ("batman-adv: split out
router from orig_node")
Signed-off-by: Simon Wunderlich <simon(a)open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
930c3b9ab7da424943fde620bb808df39e57a7e2
bat_iv_ogm.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c
index 256663f..92165cb 100644
--- a/bat_iv_ogm.c
+++ b/bat_iv_ogm.c
@@ -1368,7 +1368,7 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset,
{
struct batadv_priv *bat_priv = netdev_priv(if_incoming->soft_iface);
struct batadv_neigh_node *router = NULL, *router_router = NULL;
- struct batadv_orig_node *orig_neigh_node, *orig_node_tmp;
+ struct batadv_orig_node *orig_neigh_node;
struct batadv_orig_ifinfo *orig_ifinfo;
struct batadv_neigh_node *orig_neigh_router = NULL;
struct batadv_neigh_ifinfo *router_ifinfo = NULL;
@@ -1412,7 +1412,6 @@ batadv_iv_ogm_process_per_outif(const struct sk_buff *skb, int ogm_offset,
router = batadv_orig_router_get(orig_node, if_outgoing);
if (router) {
- orig_node_tmp = router->orig_node;
router_router = batadv_orig_router_get(router->orig_node,
if_outgoing);
router_ifinfo = batadv_neigh_ifinfo_get(router, if_outgoing);
9 years, 2 months
[batman-adv] master: batman-adv: fix sparse warning in batadv_iv_ogm_emit (a0fc2f1)
by postmaster@open-mesh.org
Repository : ssh://git@open-mesh.org/batman-adv
On branch : master
>---------------------------------------------------------------
commit a0fc2f129f7193cbdd7e9c2e4da0d6e7ac15dd58
Author: Simon Wunderlich <simon(a)open-mesh.com>
Date: Fri Nov 22 13:30:26 2013 +0100
batman-adv: fix sparse warning in batadv_iv_ogm_emit
The directlink variable is not needed anymore, and sparse complains
about that. Remove it.
Removal was introduced in 29b9256e6631876d4f1719f4d5e13d7ee140c61b
("batman-adv: consider outgoing interface in OGM sending")
Signed-off-by: Simon Wunderlich <simon(a)open-mesh.com>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
>---------------------------------------------------------------
a0fc2f129f7193cbdd7e9c2e4da0d6e7ac15dd58
bat_iv_ogm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/bat_iv_ogm.c b/bat_iv_ogm.c
index bf4fd9c..256663f 100644
--- a/bat_iv_ogm.c
+++ b/bat_iv_ogm.c
@@ -467,12 +467,10 @@ static void batadv_iv_ogm_emit(struct batadv_forw_packet *forw_packet)
struct batadv_priv *bat_priv;
struct batadv_hard_iface *primary_if = NULL;
struct batadv_ogm_packet *batadv_ogm_packet;
- unsigned char directlink;
uint8_t *packet_pos;
packet_pos = forw_packet->skb->data;
batadv_ogm_packet = (struct batadv_ogm_packet *)packet_pos;
- directlink = (batadv_ogm_packet->flags & BATADV_DIRECTLINK ? 1 : 0);
if (!forw_packet->if_incoming) {
pr_err("Error - can't forward packet: incoming iface not specified\n");
9 years, 2 months