diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c index e1a1b3f3983a61adc3fb471713b27899fb7688b6..c2914e9a4a6f49b989dfde556a8a7ab0a9d57a63 100644 --- a/net/sched/act_vlan.c +++ b/net/sched/act_vlan.c @@ -225,7 +225,8 @@ static void tcf_vlan_cleanup(struct tc_action *a) struct tcf_vlan_params *p; p = rcu_dereference_protected(v->vlan_p, 1); - kfree_rcu(p, rcu); + if (p) + kfree_rcu(p, rcu); } static int tcf_vlan_dump(struct sk_buff *skb, struct tc_action *a,