aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJP Abgrall <jpa@google.com>2013-04-08 15:09:26 -0700
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2013-09-10 18:55:54 +0100
commit647140680cef5d6391d2b430c881c57904454696 (patch)
tree369d25807fb31a9c6645d4e4b586b4c504607d81 /net
parent99a8b0a7c48c3b126380c60876cfea5cc11fe033 (diff)
downloadkernel_samsung_smdk4412-647140680cef5d6391d2b430c881c57904454696.zip
kernel_samsung_smdk4412-647140680cef5d6391d2b430c881c57904454696.tar.gz
kernel_samsung_smdk4412-647140680cef5d6391d2b430c881c57904454696.tar.bz2
netfilter: qtaguid: rate limit some of the printks
Some of the printks are in the packet handling path. We now ratelimit the very unlikely errors to avoid kmsg spamming. Signed-off-by: JP Abgrall <jpa@google.com>
Diffstat (limited to 'net')
-rw-r--r--net/netfilter/xt_qtaguid.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/net/netfilter/xt_qtaguid.c b/net/netfilter/xt_qtaguid.c
index 202ddc1..c8a53e5 100644
--- a/net/netfilter/xt_qtaguid.c
+++ b/net/netfilter/xt_qtaguid.c
@@ -19,6 +19,7 @@
#include <linux/module.h>
#include <linux/netfilter/x_tables.h>
#include <linux/netfilter/xt_qtaguid.h>
+#include <linux/ratelimit.h>
#include <linux/skbuff.h>
#include <linux/workqueue.h>
#include <net/addrconf.h>
@@ -1328,12 +1329,12 @@ static void iface_stat_update_from_skb(const struct sk_buff *skb,
}
if (unlikely(!el_dev)) {
- pr_err("qtaguid[%d]: %s(): no par->in/out?!!\n",
- par->hooknum, __func__);
+ pr_err_ratelimited("qtaguid[%d]: %s(): no par->in/out?!!\n",
+ par->hooknum, __func__);
BUG();
} else if (unlikely(!el_dev->name)) {
- pr_err("qtaguid[%d]: %s(): no dev->name?!!\n",
- par->hooknum, __func__);
+ pr_err_ratelimited("qtaguid[%d]: %s(): no dev->name?!!\n",
+ par->hooknum, __func__);
BUG();
} else {
proto = ipx_proto(skb, par);
@@ -1416,8 +1417,8 @@ static void if_tag_stat_update(const char *ifname, uid_t uid,
iface_entry = get_iface_entry(ifname);
if (!iface_entry) {
- pr_err("qtaguid: iface_stat: stat_update() %s not found\n",
- ifname);
+ pr_err_ratelimited("qtaguid: iface_stat: stat_update() "
+ "%s not found\n", ifname);
return;
}
/* It is ok to process data when an iface_entry is inactive */