From 8080c3f495a1b56c5fe040b51c5ca2c42df4fcb6 Mon Sep 17 00:00:00 2001 From: Eric Leblond Date: Mon, 16 Mar 2009 14:55:27 +0100 Subject: [PATCH] --- yaml --- r: 135489 b: refs/heads/master c: c7a913cd5535554d6f5d5e1f5ef46c4307cf2afc h: refs/heads/master i: 135487: d1ecd8f65f5a3e873bfd8885ab9d7540c9764bea v: v3 --- [refs] | 2 +- trunk/net/netfilter/nf_log.c | 28 ++++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 73701c6f38f1..3857aa6538d8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ca735b3aaa945626ba65a3e51145bfe4ecd9e222 +refs/heads/master: c7a913cd5535554d6f5d5e1f5ef46c4307cf2afc diff --git a/trunk/net/netfilter/nf_log.c b/trunk/net/netfilter/nf_log.c index a228b5fbcf7c..4fcbcc71aa32 100644 --- a/trunk/net/netfilter/nf_log.c +++ b/trunk/net/netfilter/nf_log.c @@ -154,13 +154,37 @@ static int seq_show(struct seq_file *s, void *v) { loff_t *pos = v; const struct nf_logger *logger; + struct nf_logger *t; + int ret; logger = rcu_dereference(nf_loggers[*pos]); if (!logger) - return seq_printf(s, "%2lld NONE\n", *pos); + ret = seq_printf(s, "%2lld NONE (", *pos); + else + ret = seq_printf(s, "%2lld %s (", *pos, logger->name); + + if (ret < 0) + return ret; + + mutex_lock(&nf_log_mutex); + list_for_each_entry(t, &nf_loggers_l[*pos], list[*pos]) { + ret = seq_printf(s, "%s", t->name); + if (ret < 0) { + mutex_unlock(&nf_log_mutex); + return ret; + } + if (&t->list[*pos] != nf_loggers_l[*pos].prev) { + ret = seq_printf(s, ","); + if (ret < 0) { + mutex_unlock(&nf_log_mutex); + return ret; + } + } + } + mutex_unlock(&nf_log_mutex); - return seq_printf(s, "%2lld %s\n", *pos, logger->name); + return seq_printf(s, ")\n"); } static const struct seq_operations nflog_seq_ops = {