diff options
author | Marek Lindner <mareklindner@neomailbox.ch> | 2015-06-09 16:24:36 +0300 |
---|---|---|
committer | Antonio Quartulli <antonio@meshcoding.com> | 2015-08-05 01:31:46 +0300 |
commit | 354136bcc3c4f40a2813bba8f57ca5267d812d15 (patch) | |
tree | d80fda18c6c416690f648faedf85e23966246165 /net/batman-adv/soft-interface.c | |
parent | f202a666e933f3c7557126d63833a6a3b577ac15 (diff) | |
download | linux-354136bcc3c4f40a2813bba8f57ca5267d812d15.tar.xz |
batman-adv: fix kernel crash due to missing NULL checks
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>
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 c002961da75d..a2fc843c2243 100644 --- a/net/batman-adv/soft-interface.c +++ b/net/batman-adv/soft-interface.c @@ -479,6 +479,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); |