|
@@ -711,28 +711,15 @@ void xt_free_table_info(struct xt_table_info *info)
|
|
|
{
|
|
|
int cpu;
|
|
|
|
|
|
- for_each_possible_cpu(cpu) {
|
|
|
- if (info->size <= PAGE_SIZE)
|
|
|
- kfree(info->entries[cpu]);
|
|
|
- else
|
|
|
- vfree(info->entries[cpu]);
|
|
|
- }
|
|
|
+ for_each_possible_cpu(cpu)
|
|
|
+ kvfree(info->entries[cpu]);
|
|
|
|
|
|
if (info->jumpstack != NULL) {
|
|
|
- if (sizeof(void *) * info->stacksize > PAGE_SIZE) {
|
|
|
- for_each_possible_cpu(cpu)
|
|
|
- vfree(info->jumpstack[cpu]);
|
|
|
- } else {
|
|
|
- for_each_possible_cpu(cpu)
|
|
|
- kfree(info->jumpstack[cpu]);
|
|
|
- }
|
|
|
+ for_each_possible_cpu(cpu)
|
|
|
+ kvfree(info->jumpstack[cpu]);
|
|
|
+ kvfree(info->jumpstack);
|
|
|
}
|
|
|
|
|
|
- if (sizeof(void **) * nr_cpu_ids > PAGE_SIZE)
|
|
|
- vfree(info->jumpstack);
|
|
|
- else
|
|
|
- kfree(info->jumpstack);
|
|
|
-
|
|
|
free_percpu(info->stackptr);
|
|
|
|
|
|
kfree(info);
|