The annotated tag, batman-adv-for-davem has been created
at a1624699d0d3744f75086e67d805d04fdf8eb45b (tag)
tagging 339895ffdf42413c5dcbe2442e779872098d302e (commit)
replaces v4.5-rc2
tagged by Antonio Quartulli
on Fri Feb 19 20:20:11 2016 +0800
- Shortlog ------------------------------------------------------------
This is a cleanup patchset: first the BATADV_BONDING_TQ_THRESHOLD
constant gets removed as it was defined but not used anywhere,
then all our *_free_ref functions are renamed to *_put in order
to follow the kernel naming convention by Sven Eckelmann.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJWx/QrAAoJENpFlCjNi1MRWjsQALn6HH25gbcRJEcdW4t/TR07
VL79XJuj6V1m5w8f4rTCOhopwq+9q6l9i7ate0ZcO5Gm/TEUT974QDRlcL4t4iKB
FCGIxVQZ9KmDXge5imJWZPW8OheaLVRZifuze9wrevnCpulFhNQ79qiRYlc8vteo
/Q/jDD1y218KsMo5cCF+MDHLNevQAlTHEDroTOEUpQAe6FECpFXqXlPXthaSBD6Q
/CJxdvBE02yno3uvZFZ49XrYEwG9bpeK2M4ewYAKzW26zk2QKMYMR9TUJKzZTe7R
ilhpqPKW8LhZz9XygmZuILC7mj4PoQPMhKGv5yK0QTp8NpZO712DIbamBRhN58a8
656U/+Cf88Cx9h1UaYZjz2kb5OrS5e25u9Bu3cO1Ufw/7gQipwUz3bq7eY2hxK5q
Qm5YrWIwVrYDjyNp2VLE8jttAxD/V/t2qPi0eX5dXgFWI94/ZG7IOUxiOsvrmOM0
R/TnziiZx7C+4+M2oYp18FiTh7G+787lULqy99okBLKKMrfqQYEa7pP3PyT9v0cJ
jfMC4P71GASWdIsiqxe89jaATGG8g/m6ncyjPHp8V46IBudUXAwiUYmFsx39dVIK
TFmQdlR6ZofavWDrlc0IS/J7j9nDt4ktY7V5k3xsU5y1WsRJ8DmKcLNyP5PNchnb
0KhFs0bBborHbk88RGZp
=wePc
-----END PGP SIGNATURE-----
Antonio Quartulli (4):
batman-adv: fix kerneldoc for DAT functions
batman-adv: fix kerneldoc for TT functions
batman-adv: add kernel doc for AP isolation attributes in bat_priv
batman-adv: remove unused BATADV_BONDING_TQ_THRESHOLD constant
Marek Lindner (1):
batman-adv: kernel doc readability updates
Simon Wunderlich (3):
batman-adv: Update/repair bridge loop avoidance kerneldoc
batman-adv: add kerneldoc for batadv_iv_ogm_aggr_packet
batman-adv: add seqno maximum age and protection start flag parameters
Sven Eckelmann (49):
batman-adv: Fix kerneldoc parsing of structs/enums
batman-adv: Remove kerneldoc for missing parameters
batman-adv: Fix names in kerneldoc of functions
batman-adv: Drop invalid kerneldoc for variable batadv_vlan_attrs
batman-adv: Fix kerneldoc parsing of return description
batman-adv: Fix kerneldoc of main functions
batman-adv: Fix kerneldoc of network-coding functions
batman-adv: Fix kernel-doc for batadv_claim_free_ref
batman-adv: update copyright years for 2016
batman-adv: Switch to HTTPS version of links
batman-adv: Drop reference to netdevice on last reference
batman-adv: Add lockdep assert for container_list_lock
batman-adv: Convert batadv_hardif_neigh_node to kref
batman-adv: Convert batadv_gw_node to kref
batman-adv: Convert batadv_softif_vlan to kref
batman-adv: Convert batadv_bla_backbone_gw to kref
batman-adv: Convert batadv_bla_claim to kref
batman-adv: Convert batadv_nc_node to kref
batman-adv: Convert batadv_nc_path to kref
batman-adv: Convert batadv_dat_entry to kref
batman-adv: Convert batadv_tvlv_container to kref
batman-adv: Convert batadv_tvlv_handler to kref
batman-adv: Convert batadv_tt_orig_list_entry to kref
batman-adv: Convert batadv_neigh_ifinfo to kref
batman-adv: Convert batadv_orig_ifinfo to kref
batman-adv: Convert batadv_neigh_node to kref
batman-adv: Convert batadv_hard_iface to kref
batman-adv: Convert batadv_orig_node_vlan to kref
batman-adv: Convert batadv_orig_node to kref
batman-adv: Convert batadv_tt_common_entry to kref
batman-adv: Rename batadv_orig_node *_free_ref function to *_put
batman-adv: Rename batadv_hardif *_free_ref function to *_put
batman-adv: Rename batadv_neigh_node *_free_ref function to *_put
batman-adv: Rename batadv_neigh_ifinfo *_free_ref function to *_put
batman-adv: Rename batadv_orig_ifinfo *_free_ref function to *_put
batman-adv: Rename batadv_hardif_neigh *_free_ref function to *_put
batman-adv: Rename batadv_backbone_gw *_free_ref function to *_put
batman-adv: Rename batadv_claim *_free_ref function to *_put
batman-adv: Rename batadv_dat_entry *_free_ref function to *_put
batman-adv: Rename batadv_gw_node *_free_ref function to *_put
batman-adv: Rename batadv_tvlv_handler *_free_ref function to *_put
batman-adv: Rename batadv_tvlv_container *_free_ref function to *_put
batman-adv: Rename batadv_softif_vlan *_free_ref function to *_put
batman-adv: Rename batadv_nc_node *_free_ref function to *_put
batman-adv: Rename batadv_nc_path *_free_ref function to *_put
batman-adv: Rename batadv_orig_node_vlan *_free_ref function to *_put
batman-adv: Rename batadv_tt_local_entry *_free_ref function to *_put
batman-adv: Rename batadv_tt_global_entry *_free_ref function to *_put
batman-adv: Rename batadv_tt_orig_list_entry *_free_ref function to *_put
-----------------------------------------------------------------------
--
linux integration
The annotated tag, batman-adv-fix-for-davem has been updated
to ca1c012f55481ea5d6d1c73f195c50bb6281bb00 (tag)
from 904e3d8a3d989ea531d63f318b6e4f5b24595e90 (which is now obsolete)
tagging 1bc4e2b000e7fa9773d6623bc8850561ce10a4fb (commit)
replaces v4.5-rc3
tagged by Antonio Quartulli
on Tue Feb 16 22:16:43 2016 +0800
- Shortlog ------------------------------------------------------------
Two of the fixes included in this patchset prevent wrong memory
access - it was triggered when removing an object from a list
after it was already free'd due to bad reference counting.
This misbehaviour existed for both the gw_node and the
orig_node_vlan object and has been fixed by Sven Eckelmann.
The last patch fixes our interface feasibility check and prevents
it from looping indefinitely when two net_device objects
reference each other via iflink index (i.e. veth pair), by
Andrew Lunn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJWwy9MAAoJENpFlCjNi1MRu+cQAMF7zYIlWggCWUEqaEIId4qi
daGly3DNrXWH8FJta+NR399xXlTXNoyS8uZYt9YUZrXlwXDbDNBHJ8Jcmc5sslZr
/06os5KUvNLlasup1GLBbynKUCTBSjVyo3DBwVCsiCL/iHdN1tFZXg3c2ET2U7Tk
4bFZO4h1JkpwCYeCjCJQSbPrjnAXYdxV01iarDJZgAoc290f92Ob4mTuTrQr1Vzi
EH2fyrd3m/qmRb2YBj7jNdVeD2Q4XyMKY4vHHeBq9JR/kwINwUg38+gnvcwK+KeD
VJilETdC686ZJKBSVvECQZqeXr4HaCINFNuepZLsg128IQ2ZjqPYC1yTq/qc1VF+
YGCunXhbbNgxeE1+QgXssgRAiUBx43m2osQegpHkyCzK8GPbv1gRIbTYaHgmqa4A
Pn6WHdV2kcfGRFNOASST5+eWPe9ol8RvAbXT0yD2+6CNz6aijfbGITUTlB24X+f+
6CsS3uCBsH8FI3hqjgULTqcyF14QbnLZ9AnkxYwt8B0Ge62LEfdwuXAh96mIhfyf
cGi7DBnHAYapOPzz0jSBhW5myiPOioNLJfzokZrBq+RuRBYUIUvzGmz8QJQpy/GO
EdnMOE/uWeZeSCsAGTE00pjqfHliK/vu4Wh0puGFWTQGCBbKWP5p4eNqRh4p+2GC
Sg1f1EKDt2PRw9aZHNHm
=CvI3
-----END PGP SIGNATURE-----
Andrew Lunn (1):
batman-adv: Avoid endless loop in bat-on-bat netdevice check
Sven Eckelmann (2):
batman-adv: Only put gw_node list reference when removed
batman-adv: Only put orig_node_vlan list reference when removed
-----------------------------------------------------------------------
--
linux integration
The annotated tag, batman-adv-fix-for-davem has been updated
to 904e3d8a3d989ea531d63f318b6e4f5b24595e90 (tag)
from 48d76333e016f36ed310319982d8543ae9373690 (which is now obsolete)
tagging 92ecbabb9e9cc88bf1fac471bafe1eff212ebed0 (commit)
replaces v4.5-rc3
tagged by Antonio Quartulli
on Tue Feb 16 22:12:44 2016 +0800
- Shortlog ------------------------------------------------------------
Two of the fixes included in this patchset prevent wrong memory
access - it was triggered when removing an object from a list
after it was already free'd due to bad reference counting.
This misbehaviour existed for both the gw_node and the
orig_node_vlan object and has been fixed by Sven Eckelmann.
The last patch fixes our interface feasibility check and prevents
it from looping indefinitely when two net_device objects
reference each other via iflink index (i.e. veth pair), by
Andrew Lunn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJWwy5eAAoJENpFlCjNi1MRLOAP/3HiCg89l7KSo0faGLgwCCwF
99toVNvse5cUAKt4pQUMAHyihML3OZPNw2z1OIM+WQO5ZITRsbaTpBBcYrTJoNca
k2YCb4yVEePNgoNxXMLbVOeqG/c8k0PHnv3SNQsWS5Li8hs6WcF5z/x1a4eRqLcF
dIZLvRl/Gtdx9j3tlsYx/XDDYwdrlx28st1S+BqRmSXh0cNDhge0D5qHS4Y1t4In
r47hypPgLLXZNH3VnJu0phv8hRweXqOJ/mq5H+51P9XuJg/AmwL0PomtHmvuJ5dr
+Now1zCfW1YuJcfQ9zvSsMmicXAGnPUXx4Pfl3nmbT042ydYfnsci2RVhPMhIfUi
YO//+ITNWm1BarQgb/IELZsB5XMsbNtqeOuiJDGTj5vJjSQOGyE3/3d2D2HhLoqC
640SrsuJMDKA129MWuyEXeiPdq1VVN1ioWrA0PKYa2LzXVn8RBX6S8jTR8Pk6seM
+aJ7qgLjgfayrk7/Tn0iyTYLJPV9CtahaaJP0m1CKRikdpqCNBdIfLjVYlP3tq1H
QEhnLO+mRwqjsZ5oUNGT0HNkluwn++ohx981MAGcE/4bfVJ0SS/1fIVed0boUFRf
ScQvQycR65K4A/PS3pQIoqByI9KIO5+uHnEYaVv9OYpNoCPCVbUNw12nQGGeMbnz
CC3meBmpcsPHWfWKHB9+
=wi93
-----END PGP SIGNATURE-----
Andrew Lunn (1):
batman-adv: Avoid endless loop in bat-on-bat netdevice check
Sven Eckelmann (2):
batman-adv: Only put gw_node list reference when removed
batman-adv: Only put orig_node_vlan list reference when removed
-----------------------------------------------------------------------
--
linux integration
The annotated tag, batman-adv-fix-for-davem has been created
at 48d76333e016f36ed310319982d8543ae9373690 (tag)
tagging 692532b693ca43cf23088d658f862d137a0cfd5f (commit)
replaces v4.5-rc3
tagged by Antonio Quartulli
on Tue Feb 16 18:12:34 2016 +0800
- Shortlog ------------------------------------------------------------
Two of the fixes included in this patchset prevent wrong memory
access - it was triggered when removing an object from a list
after it was already free'd due to bad reference counting.
This misbehaviour existed for both the gw_node and the
orig_node_vlan object and has been fixed by Sven Eckelmann.
The last patch fixes our interface feasibility check and prevents
it from looping indefinitely when two net_device objects
reference each other via iflink index (i.e. veth pair), by
Andrew Lunn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJWwy4OAAoJENpFlCjNi1MRoxQP/Ap7cqwI9TunE7rZOkq8QZmV
UskmGojY4s0fQ9DSF6tB8DMJhjoSwxvb6Ghijrc7EDs9SF1yRL0hgaxD/g0HrYzH
0ZJgTmVS2XcEmUJDO4mRaahQR9EH48EJILaWahTPYviLTmwzuIOaxpt6K3rQNp28
kG90ekrbROSlsiwyh/iq2lUJh4zJMGVyXdnhXG7HBd8WClA/nc8Wl1PQLiUnINB/
Er0YYYW2SPlIwr82nTDLNQFZhuu8x5FO3o45L19CVsGgGvICIUJGW0Z+9Adk+py6
TiI5nOV39v17yd/YAGresDdRvdNJSMwVsR3OIb4Vz/gqMv99Wsa/Oj5O3s53OENj
gvNaml3B+xy9dSPGAxeX45PvaUeHIklM/CaTiHZ/YKFNGHiF0LvMw1pg/18hKa4z
z7a1U6USnoZ1PFOLUg3hZ1Lg4olzrck4lI9/eRPks/Rr94y9+tvyRHNU3MpDycyF
cv6UHyM4TAaUHBkIJiqjDndoiKYt61WZaRxwLkIK1ugyQVju/vQoCFnVm1D4lZDO
tEu4luWwmc8W0PhAiTAL2KyDajRlLDR1APLnz69jYZMljZbyBxoarOZqGa9JUn81
lydNB/ZbvB/EhkagdcNAVCP7KEB77i29xzGipgfOQeLiF1qwhRR9mVJOVP26rrsz
5a8Hf2RDykJlllX8/BJv
=ftHX
-----END PGP SIGNATURE-----
Andrew Lunn (1):
batman-adv: Avoid endless loop in bat-on-bat netdevice check
Sven Eckelmann (2):
batman-adv: Only put gw_node list reference when removed
batman-adv: Only put orig_node_vlan list reference when removed
-----------------------------------------------------------------------
--
linux integration
The annotated tag, batman-adv-fix-for-davem has been deleted
was c708338bef40a3b4f21e4abf6dd0a97d5a43dde1
-----------------------------------------------------------------------
tag batman-adv-fix-for-davem
Included changes:
- avoid recursive invocations of call_rcu() which would fool users waiting on
rcu_barrier()
- prevent immediate kfree of objects used in rcu protected contexts
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJWmwezAAoJENpFlCjNi1MRBcsP/3F4cOvbTw4inAVNkE3nSvrl
lPP/z87pcMFs1uLOInR9vmpXnlZ9JCU5pef6nXOSs4TBMKoB9yU4vl1RnW6/kbw8
M5MsgMF7RiAnPQTxm/GRHwuYD3o/+4GwKXz5cquhIt6282c9a1JsjF01OlbRVooB
FDbJIU5MNIXK/3RKznDQRPXiKYMXFaqBbRCDMOUf8SF4tzfybJJWScplGTdgH9Kh
OcqLdAdzPmd6b+Vb4BRRcVPx/oT1uXA+G1Ktwu/QIHb6+mpqDJykVv3Z/tMexYvh
jo2Xcs3qvWWdVRdxV4IQHgN4bfEhJwrpMGreX9QbV4aF9muGjnx9TU2/2/UFUT+2
T1gE5UFC88y2qDx1dF6/SaHA1fnZ5G97rAww+5OU0ntVRe8N+9lSfwejDOoYDgAH
dFvc1ln1r1phqg548xKrH4y7ymnTv0MJuZ4t7x+TAZYhiPP91JNPwtoK1Eceu4sc
mq86HqF+pmGMAoREdqQOdB7wfpZDEShcEoDj1lQekBiQp2uYtVOldseNFsYQ7aIU
59MdizN3hDDEJw4eOKEXvtZyEi78G0AqJgaww/Zd8GyJqcbhKuGwc3qCdQF/WzFX
tvnIM3ChDluXejBy55Gc0jAkFVjBKyWG4g7VYCial6CIRx3VGSqjqlRU0iUTslzl
I25ZqXkSSCsVQjw7bO5d
=pdnx
-----END PGP SIGNATURE-----
42eff6a617e23b691f8e4467f4687ed7245a92db batman-adv: Drop immediate orig_node free function
-----------------------------------------------------------------------
--
linux integration
The following commit has been merged in the merge/master branch:
commit ead9389a3a0af4de210c977a0b11d57180d7c941
Author: Sven Eckelmann <sven(a)narfation.org>
Date: Sun Jan 31 13:28:00 2016 +0100
batman-adv: Only put orig_node_vlan list reference when removed
The batadv_orig_node_vlan reference counter in batadv_tt_global_size_mod
can only be reduced when the list entry was actually removed. Otherwise the
reference counter may reach zero when batadv_tt_global_size_mod is called
from two different contexts for the same orig_node_vlan but only one
context is actually removing the entry from the list.
The release function for this orig_node_vlan is not called inside the
vlan_list_lock spinlock protected region because the function
batadv_tt_global_size_mod still holds a orig_node_vlan reference for the
object pointer on the stack. Thus the actual release function (when
required) will be called only at the end of the function.
Fixes: 21a57f6e7a3b ("batman-adv: make the TT CRC logic VLAN specific")
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index 9fcf6bf..7301a92 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -311,9 +311,11 @@ static void batadv_tt_global_size_mod(struct batadv_orig_node *orig_node,
if (atomic_add_return(v, &vlan->tt.num_entries) == 0) {
spin_lock_bh(&orig_node->vlan_list_lock);
- hlist_del_init_rcu(&vlan->list);
+ if (!hlist_unhashed(&vlan->list)) {
+ hlist_del_init_rcu(&vlan->list);
+ batadv_orig_node_vlan_free_ref(vlan);
+ }
spin_unlock_bh(&orig_node->vlan_list_lock);
- batadv_orig_node_vlan_free_ref(vlan);
}
batadv_orig_node_vlan_free_ref(vlan);
--
linux integration
The following commit has been merged in the merge/master branch:
commit c215e4e249753acec3e4b8614623132a2f28671f
Author: Sven Eckelmann <sven(a)narfation.org>
Date: Sun Jan 31 13:27:59 2016 +0100
batman-adv: Only put gw_node list reference when removed
The batadv_gw_node reference counter in batadv_gw_node_update can only be
reduced when the list entry was actually removed. Otherwise the reference
counter may reach zero when batadv_gw_node_update is called from two
different contexts for the same gw_node but only one context is actually
removing the entry from the list.
The release function for this gw_node is not called inside the list_lock
spinlock protected region because the function batadv_gw_node_update still
holds a gw_node reference for the object pointer on the stack. Thus the
actual release function (when required) will be called only at the end of
the function.
Fixes: 0511575c4d03 ("batman-adv: remove obsolete deleted attribute for gateway node")
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
diff --git a/net/batman-adv/gateway_client.c b/net/batman-adv/gateway_client.c
index 8350775..c9b8b48 100644
--- a/net/batman-adv/gateway_client.c
+++ b/net/batman-adv/gateway_client.c
@@ -527,11 +527,12 @@ void batadv_gw_node_update(struct batadv_priv *bat_priv,
* gets dereferenced.
*/
spin_lock_bh(&bat_priv->gw.list_lock);
- hlist_del_init_rcu(&gw_node->list);
+ if (!hlist_unhashed(&gw_node->list)) {
+ hlist_del_init_rcu(&gw_node->list);
+ batadv_gw_node_free_ref(gw_node);
+ }
spin_unlock_bh(&bat_priv->gw.list_lock);
- batadv_gw_node_free_ref(gw_node);
-
curr_gw = batadv_gw_get_selected_gw_node(bat_priv);
if (gw_node == curr_gw)
batadv_gw_reselect(bat_priv);
--
linux integration
The following commit has been merged in the merge/master branch:
commit 41d1e618f6afb197599689097363e8114786de55
Author: Marek Lindner <mareklindner(a)neomailbox.ch>
Date: Mon Feb 1 14:34:34 2016 +0800
batman-adv: fix misleading default throughput warning
BATADV_THROUGHPUT_DEFAULT_VALUE is expressed in multiples of 100kbps. Make
sure the warning text converts it properly.
Fixes: 5c324517 ("ELP - compute the metric based on the estimated throughput")
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
diff --git a/net/batman-adv/bat_v_elp.c b/net/batman-adv/bat_v_elp.c
index 0b82c6a..e94b4a0 100644
--- a/net/batman-adv/bat_v_elp.c
+++ b/net/batman-adv/bat_v_elp.c
@@ -129,9 +129,10 @@ static u32 batadv_v_elp_get_throughput(struct batadv_hardif_neigh_node *neigh)
default_throughput:
if (!(hard_iface->bat_v.flags & BATADV_WARNING_DEFAULT)) {
batadv_info(hard_iface->soft_iface,
- "WiFi driver or ethtool info does not provide information about link speeds on interface %s, therefore defaulting to hardcoded throughput values of %d kbit/s. Consider overriding the throughput manually or checking your driver.\n",
+ "WiFi driver or ethtool info does not provide information about link speeds on interface %s, therefore defaulting to hardcoded throughput values of %u.%1u Mbps. Consider overriding the throughput manually or checking your driver.\n",
hard_iface->net_dev->name,
- BATADV_THROUGHPUT_DEFAULT_VALUE / 10);
+ BATADV_THROUGHPUT_DEFAULT_VALUE / 10,
+ BATADV_THROUGHPUT_DEFAULT_VALUE % 10);
hard_iface->bat_v.flags |= BATADV_WARNING_DEFAULT;
}
--
linux integration
The following commit has been merged in the merge/master branch:
commit c59b8c70002ec315742a7c4991e574822915f305
Author: Marek Lindner <mareklindner(a)neomailbox.ch>
Date: Mon Feb 1 14:34:33 2016 +0800
batman-adv: convert wifi driver throughput to multiples of 100kbps
The expected throughout returned by the cfg80211 API is expressed in kbps
while internally batman-adv stores multiples of 100kbps. Ensure the
conversion is performed properly.
Fixes: 5c324517 ("ELP - compute the metric based on the estimated throughput")
Signed-off-by: Marek Lindner <mareklindner(a)neomailbox.ch>
diff --git a/net/batman-adv/bat_v_elp.c b/net/batman-adv/bat_v_elp.c
index 4654251..0b82c6a 100644
--- a/net/batman-adv/bat_v_elp.c
+++ b/net/batman-adv/bat_v_elp.c
@@ -100,7 +100,7 @@ static u32 batadv_v_elp_get_throughput(struct batadv_hardif_neigh_node *neigh)
return 0;
}
if (!ret)
- return sinfo.expected_throughput / 10;
+ return sinfo.expected_throughput / 100;
}
/* unsupported WiFi driver version */
--
linux integration