diff options
Diffstat (limited to 'net/sched/cls_flower.c')
| -rw-r--r-- | net/sched/cls_flower.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c index efb9d2811b73..e1314674b4a9 100644 --- a/net/sched/cls_flower.c +++ b/net/sched/cls_flower.c @@ -2460,8 +2460,11 @@ unbind_filter:  	}  errout_idr: -	if (!fold) +	if (!fold) { +		spin_lock(&tp->lock);  		idr_remove(&head->handle_idr, fnew->handle); +		spin_unlock(&tp->lock); +	}  	__fl_put(fnew);  errout_tb:  	kfree(tb); @@ -3656,6 +3659,7 @@ static struct tcf_proto_ops cls_fl_ops __read_mostly = {  	.owner		= THIS_MODULE,  	.flags		= TCF_PROTO_OPS_DOIT_UNLOCKED,  }; +MODULE_ALIAS_NET_CLS("flower");  static int __init cls_fl_init(void)  {  |