| From c0bb88dad87d55604cc656c60779ea8ca61ca068 Mon Sep 17 00:00:00 2001 |
| From: Ben Greear <greearb@candelatech.com> |
| Date: Fri, 19 Apr 2013 10:45:52 +0000 |
| Subject: net: rate-limit warn-bad-offload splats. |
| |
| |
| From: Ben Greear <greearb@candelatech.com> |
| |
| [ Upstream commit c846ad9b880ece01bb4d8d07ba917734edf0324f ] |
| |
| 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/core/dev.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/net/core/dev.c |
| +++ b/net/core/dev.c |
| @@ -1895,6 +1895,9 @@ static void skb_warn_bad_offload(const s |
| 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); |
| |