@@ -801,6 +801,12 @@ xt_replace_table(struct xt_table *table,
struct xt_table_info *private;
int ret;
+ ret = xt_jumpstack_alloc(newinfo);
+ if (ret < 0) {
+ *error = ret;
+ return NULL;
+ }
+
/* Do the substitution. */
local_bh_disable();
private = table->private;
@@ -814,12 +820,6 @@ xt_replace_table(struct xt_table *table,
return NULL;
}
- ret = xt_jumpstack_alloc(newinfo);
- if (ret < 0) {
- *error = ret;
- return NULL;
- }
-
table->private = newinfo;
newinfo->initial_entries = private->initial_entries;