netfilter: netns ebtables: more cleanup during ebt_unregister_table()
Now that ebt_unregister_table() can be called during netns stop, and module pinning scheme can't prevent netns stop, do table cleanup by hand. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
6beceee5aa
commit
dbcdf85a2e
1 changed files with 4 additions and 0 deletions
|
@ -1209,6 +1209,10 @@ void ebt_unregister_table(struct ebt_table *table)
|
||||||
mutex_lock(&ebt_mutex);
|
mutex_lock(&ebt_mutex);
|
||||||
list_del(&table->list);
|
list_del(&table->list);
|
||||||
mutex_unlock(&ebt_mutex);
|
mutex_unlock(&ebt_mutex);
|
||||||
|
EBT_ENTRY_ITERATE(table->private->entries, table->private->entries_size,
|
||||||
|
ebt_cleanup_entry, NULL);
|
||||||
|
if (table->private->nentries)
|
||||||
|
module_put(table->me);
|
||||||
vfree(table->private->entries);
|
vfree(table->private->entries);
|
||||||
if (table->private->chainstack) {
|
if (table->private->chainstack) {
|
||||||
for_each_possible_cpu(i)
|
for_each_possible_cpu(i)
|
||||||
|
|
Loading…
Add table
Reference in a new issue