[056/118] net: rate-limit warn-bad-offload splats.

Message ID 1367933964-1564-57-git-send-email-luis.henriques@canonical.com
State New
Headers show

Commit Message

Luis Henriques May 7, 2013, 1:38 p.m. -stable review patch.  If anyone has any objections, please let me know.


From: Ben Greear <greearb@candelatech.com>

commit c846ad9b880ece01bb4d8d07ba917734edf0324f upstream.

If one does do something unfortunate and allow a
bad offload bug into the kernel, this the
skb_warn_bad_offload can effectively live-lock the
system, filling the logs with the same error over
and over.

Add rate limitation to this so that box remains otherwise
functional in this case.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
 net/core/dev.c | 3 +++
 1 file changed, 3 insertions(+)


diff --git a/net/core/dev.c b/net/core/dev.c
index 196bc5f..ba9d7a7 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1893,6 +1893,9 @@  static void skb_warn_bad_offload(const struct sk_buff *skb)
 	struct net_device *dev = skb->dev;
 	const char *driver = "";
+	if (!net_ratelimit())
+		return;
 	if (dev && dev->dev.parent)
 		driver = dev_driver_string(dev->dev.parent);