diff --git a/[refs] b/[refs] index d17b70caf5c7..28f84dc5e296 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e2e0c7c9ddbe6b79fe647aca5eea3a405d38ada4 +refs/heads/master: de38483010bae523f533bb6bf9f7b7353772f6eb diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index b74fcd3e9365..5d1282df2fe3 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -2646,10 +2646,10 @@ static int ing_filter(struct sk_buff *skb) int result = TC_ACT_OK; struct Qdisc *q; - if (MAX_RED_LOOP < ttl++) { - printk(KERN_WARNING - "Redir loop detected Dropping packet (%d->%d)\n", - skb->skb_iif, dev->ifindex); + if (unlikely(MAX_RED_LOOP < ttl++)) { + if (net_ratelimit()) + pr_warning( "Redir loop detected Dropping packet (%d->%d)\n", + skb->skb_iif, dev->ifindex); return TC_ACT_SHOT; }