Eric Leblond wrote:
+static int nf_log_proc_dostring(ctl_table *table, int write, struct file *filp, + void *buffer, size_t *lenp, loff_t *ppos) +{ + const struct nf_logger *logger; + int r = 0; + + if (write) { + if (!strnicmp(buffer, "NONE", *lenp - 1)) { + return nf_log_unbind_pf(table->ctl_name); + } + mutex_lock(&nf_log_mutex); + logger = __find_logger(table->ctl_name, buffer); + ...
+static int netfilter_log_sysctl_init(void) +{ + int i; + + for (i = NFPROTO_UNSPEC; i < NFPROTO_NUMPROTO; i++) { + char *pr_name = kmalloc(3, GFP_KERNEL); + /* FIXME free at deinit but there is currently no deinit */ + snprintf(pr_name, 3, "%d", i); + nf_log_sysctl_table[i].ctl_name = i;
This ctl_name use seems rather abusive. The names are used as numeric identifiers, we can't just stuff index values in there :) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html