Commit a98da11d authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by David S. Miller

[NETFILTER]: x_tables: change xt_table_register() return value convention

Switch from 0/-E to ptr/PTR_ERR convention.
Signed-off-by: default avatarAlexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 30083c95
...@@ -335,9 +335,9 @@ extern int xt_check_target(const struct xt_target *target, unsigned short family ...@@ -335,9 +335,9 @@ extern int xt_check_target(const struct xt_target *target, unsigned short family
unsigned int size, const char *table, unsigned int hook, unsigned int size, const char *table, unsigned int hook,
unsigned short proto, int inv_proto); unsigned short proto, int inv_proto);
extern int xt_register_table(struct xt_table *table, extern struct xt_table *xt_register_table(struct xt_table *table,
struct xt_table_info *bootstrap, struct xt_table_info *bootstrap,
struct xt_table_info *newinfo); struct xt_table_info *newinfo);
extern void *xt_unregister_table(struct xt_table *table); extern void *xt_unregister_table(struct xt_table *table);
extern struct xt_table_info *xt_replace_table(struct xt_table *table, extern struct xt_table_info *xt_replace_table(struct xt_table *table,
......
...@@ -1727,6 +1727,7 @@ int arpt_register_table(struct arpt_table *table, ...@@ -1727,6 +1727,7 @@ int arpt_register_table(struct arpt_table *table,
struct xt_table_info bootstrap struct xt_table_info bootstrap
= { 0, 0, 0, { 0 }, { 0 }, { } }; = { 0, 0, 0, { 0 }, { 0 }, { } };
void *loc_cpu_entry; void *loc_cpu_entry;
struct xt_table *new_table;
newinfo = xt_alloc_table_info(repl->size); newinfo = xt_alloc_table_info(repl->size);
if (!newinfo) { if (!newinfo) {
...@@ -1750,10 +1751,10 @@ int arpt_register_table(struct arpt_table *table, ...@@ -1750,10 +1751,10 @@ int arpt_register_table(struct arpt_table *table,
return ret; return ret;
} }
ret = xt_register_table(table, &bootstrap, newinfo); new_table = xt_register_table(table, &bootstrap, newinfo);
if (ret != 0) { if (IS_ERR(new_table)) {
xt_free_table_info(newinfo); xt_free_table_info(newinfo);
return ret; return PTR_ERR(new_table);
} }
return 0; return 0;
......
...@@ -2055,6 +2055,7 @@ int ipt_register_table(struct xt_table *table, const struct ipt_replace *repl) ...@@ -2055,6 +2055,7 @@ int ipt_register_table(struct xt_table *table, const struct ipt_replace *repl)
struct xt_table_info bootstrap struct xt_table_info bootstrap
= { 0, 0, 0, { 0 }, { 0 }, { } }; = { 0, 0, 0, { 0 }, { 0 }, { } };
void *loc_cpu_entry; void *loc_cpu_entry;
struct xt_table *new_table;
newinfo = xt_alloc_table_info(repl->size); newinfo = xt_alloc_table_info(repl->size);
if (!newinfo) if (!newinfo)
...@@ -2074,10 +2075,10 @@ int ipt_register_table(struct xt_table *table, const struct ipt_replace *repl) ...@@ -2074,10 +2075,10 @@ int ipt_register_table(struct xt_table *table, const struct ipt_replace *repl)
return ret; return ret;
} }
ret = xt_register_table(table, &bootstrap, newinfo); new_table = xt_register_table(table, &bootstrap, newinfo);
if (ret != 0) { if (IS_ERR(new_table)) {
xt_free_table_info(newinfo); xt_free_table_info(newinfo);
return ret; return PTR_ERR(new_table);
} }
return 0; return 0;
......
...@@ -2081,6 +2081,7 @@ int ip6t_register_table(struct xt_table *table, const struct ip6t_replace *repl) ...@@ -2081,6 +2081,7 @@ int ip6t_register_table(struct xt_table *table, const struct ip6t_replace *repl)
struct xt_table_info bootstrap struct xt_table_info bootstrap
= { 0, 0, 0, { 0 }, { 0 }, { } }; = { 0, 0, 0, { 0 }, { 0 }, { } };
void *loc_cpu_entry; void *loc_cpu_entry;
struct xt_table *new_table;
newinfo = xt_alloc_table_info(repl->size); newinfo = xt_alloc_table_info(repl->size);
if (!newinfo) if (!newinfo)
...@@ -2100,10 +2101,10 @@ int ip6t_register_table(struct xt_table *table, const struct ip6t_replace *repl) ...@@ -2100,10 +2101,10 @@ int ip6t_register_table(struct xt_table *table, const struct ip6t_replace *repl)
return ret; return ret;
} }
ret = xt_register_table(table, &bootstrap, newinfo); new_table = xt_register_table(table, &bootstrap, newinfo);
if (ret != 0) { if (IS_ERR(new_table)) {
xt_free_table_info(newinfo); xt_free_table_info(newinfo);
return ret; return PTR_ERR(new_table);
} }
return 0; return 0;
......
...@@ -660,9 +660,9 @@ xt_replace_table(struct xt_table *table, ...@@ -660,9 +660,9 @@ xt_replace_table(struct xt_table *table,
} }
EXPORT_SYMBOL_GPL(xt_replace_table); EXPORT_SYMBOL_GPL(xt_replace_table);
int xt_register_table(struct xt_table *table, struct xt_table *xt_register_table(struct xt_table *table,
struct xt_table_info *bootstrap, struct xt_table_info *bootstrap,
struct xt_table_info *newinfo) struct xt_table_info *newinfo)
{ {
int ret; int ret;
struct xt_table_info *private; struct xt_table_info *private;
...@@ -670,7 +670,7 @@ int xt_register_table(struct xt_table *table, ...@@ -670,7 +670,7 @@ int xt_register_table(struct xt_table *table,
ret = mutex_lock_interruptible(&xt[table->af].mutex); ret = mutex_lock_interruptible(&xt[table->af].mutex);
if (ret != 0) if (ret != 0)
return ret; goto out;
/* Don't autoload: we'd eat our tail... */ /* Don't autoload: we'd eat our tail... */
list_for_each_entry(t, &xt[table->af].tables, list) { list_for_each_entry(t, &xt[table->af].tables, list) {
...@@ -693,11 +693,13 @@ int xt_register_table(struct xt_table *table, ...@@ -693,11 +693,13 @@ int xt_register_table(struct xt_table *table,
private->initial_entries = private->number; private->initial_entries = private->number;
list_add(&table->list, &xt[table->af].tables); list_add(&table->list, &xt[table->af].tables);
mutex_unlock(&xt[table->af].mutex);
return table;
ret = 0;
unlock: unlock:
mutex_unlock(&xt[table->af].mutex); mutex_unlock(&xt[table->af].mutex);
return ret; out:
return ERR_PTR(ret);
} }
EXPORT_SYMBOL_GPL(xt_register_table); EXPORT_SYMBOL_GPL(xt_register_table);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment