diff options
author | Marek Lindner <mareklindner@neomailbox.ch> | 2015-06-09 16:24:36 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-23 00:43:20 +0300 |
commit | b046d646f1cbe1453b4ae63dc749e62f6e01c9c7 (patch) | |
tree | 397fd8b8f996103b129ba3e737ea7ee8bd16c941 /net/batman-adv/soft-interface.c | |
parent | 1fc6fc1d5b9dc9c878b2b1c044e079b193e6cb92 (diff) | |
download | linux-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.c | 3 |
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); |