Merge "Revert "netfilter: Unlock xt_table later""

This commit is contained in:
qctecmdr 2020-12-15 01:48:36 -08:00 • committed by Gerrit - the friendly Code Review server
commit 5175b74fb7
3 changed files with 6 additions and 3 deletions

View file

@ -921,6 +921,8 @@ static int __do_replace(struct net *net, const char *name,
(newinfo->number <= oldinfo->initial_entries))
module_put(t->me);
xt_table_unlock(t);
get_old_counters(oldinfo, counters);
/* Decrease module usage counts and free resource */
@ -935,7 +937,6 @@ static int __do_replace(struct net *net, const char *name,
net_warn_ratelimited("arptables: counters copy to user failed while replacing table\n");
}
vfree(counters);
xt_table_unlock(t);
return ret;
put_module:

View file

@ -1076,6 +1076,8 @@ __do_replace(struct net *net, const char *name, unsigned int valid_hooks,
(newinfo->number <= oldinfo->initial_entries))
module_put(t->me);
xt_table_unlock(t);
get_old_counters(oldinfo, counters);
/* Decrease module usage counts and free resource */
@ -1089,7 +1091,6 @@ __do_replace(struct net *net, const char *name, unsigned int valid_hooks,
net_warn_ratelimited("iptables: counters copy to user failed while replacing table\n");
}
vfree(counters);
xt_table_unlock(t);
return ret;
put_module:

View file

@ -1093,6 +1093,8 @@ __do_replace(struct net *net, const char *name, unsigned int valid_hooks,
(newinfo->number <= oldinfo->initial_entries))
module_put(t->me);
xt_table_unlock(t);
get_old_counters(oldinfo, counters);
/* Decrease module usage counts and free resource */
@ -1106,7 +1108,6 @@ __do_replace(struct net *net, const char *name, unsigned int valid_hooks,
net_warn_ratelimited("ip6tables: counters copy to user failed while replacing table\n");
}
vfree(counters);
xt_table_unlock(t);
return ret;
put_module: