net_sched: fix a regression in tc actions
This patch fixes:
1) pass mask rather than size to tcf_hashinfo_init()
2) the cleanup should be in reversed order in mirred_cleanup_module()
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Fixes: 369ba56787
("net_sched: init struct tcf_hashinfo at register time")
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
852ad5e631
commit
568a153a22
@@ -276,7 +276,7 @@ static int __init mirred_init_module(void)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = tcf_hashinfo_init(&mirred_hash_info, MIRRED_TAB_MASK+1);
|
||||
err = tcf_hashinfo_init(&mirred_hash_info, MIRRED_TAB_MASK);
|
||||
if (err) {
|
||||
unregister_netdevice_notifier(&mirred_device_notifier);
|
||||
return err;
|
||||
@@ -287,9 +287,9 @@ static int __init mirred_init_module(void)
|
||||
|
||||
static void __exit mirred_cleanup_module(void)
|
||||
{
|
||||
unregister_netdevice_notifier(&mirred_device_notifier);
|
||||
tcf_hashinfo_destroy(&mirred_hash_info);
|
||||
tcf_unregister_action(&act_mirred_ops);
|
||||
tcf_hashinfo_destroy(&mirred_hash_info);
|
||||
unregister_netdevice_notifier(&mirred_device_notifier);
|
||||
}
|
||||
|
||||
module_init(mirred_init_module);
|
||||
|
Reference in New Issue
Block a user