summaryrefslogtreecommitdiff
path: root/net/batman-adv/soft-interface.c
diff options
context:
space:
mode:
authorMarek Lindner <mareklindner@neomailbox.ch>2015-06-09 16:24:36 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-10-23 00:43:20 +0300
commitb046d646f1cbe1453b4ae63dc749e62f6e01c9c7 (patch)
tree397fd8b8f996103b129ba3e737ea7ee8bd16c941 /net/batman-adv/soft-interface.c
parent1fc6fc1d5b9dc9c878b2b1c044e079b193e6cb92 (diff)
downloadlinux-b046d646f1cbe1453b4ae63dc749e62f6e01c9c7.tar.xz
batman-adv: fix kernel crash due to missing NULL checks
commit 354136bcc3c4f40a2813bba8f57ca5267d812d15 upstream. batadv_softif_vlan_get() may return NULL which has to be verified by the caller. Fixes: 35df3b298fc8 ("batman-adv: fix TT VLAN inconsistency on VLAN re-add") Reported-by: Ryan Thompson <ryan@eero.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/batman-adv/soft-interface.c')
-rw-r--r--net/batman-adv/soft-interface.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index 5ec31d7de24f..271a08dbd4d2 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -449,6 +449,9 @@ out:
*/
void batadv_softif_vlan_free_ref(struct batadv_softif_vlan *vlan)
{
+ if (!vlan)
+ return;
+
if (atomic_dec_and_test(&vlan->refcount)) {
spin_lock_bh(&vlan->bat_priv->softif_vlan_list_lock);
hlist_del_rcu(&vlan->list);