Commit 7343f010 authored by Michal Schmidt's avatar Michal Schmidt Committed by Ben Hutchings

netlink: rate-limit leftover bytes warning and print process name

[ Upstream commit bfc5184b ]

Any process is able to send netlink messages with leftover bytes.
Make the warning rate-limited to prevent too much log spam.

The warning is supposed to help find userspace bugs, so print the
triggering command name to implicate the buggy program.

[v2: Use pr_warn_ratelimited instead of printk_ratelimited.]
Signed-off-by: default avatarMichal Schmidt <mschmidt@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
[bwh: Add #include of <linux/sched.h> for definition of struct task_struct,
 as in 3.2 it doesn't get included indirectly on all architectures.  Thanks
 to Guenter Roeck for debugging this.]
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent f50bf61a
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/ratelimit.h>
#include <linux/sched.h>
#include <linux/types.h> #include <linux/types.h>
#include <net/netlink.h> #include <net/netlink.h>
...@@ -197,8 +199,8 @@ int nla_parse(struct nlattr **tb, int maxtype, const struct nlattr *head, ...@@ -197,8 +199,8 @@ int nla_parse(struct nlattr **tb, int maxtype, const struct nlattr *head,
} }
if (unlikely(rem > 0)) if (unlikely(rem > 0))
printk(KERN_WARNING "netlink: %d bytes leftover after parsing " pr_warn_ratelimited("netlink: %d bytes leftover after parsing attributes in process `%s'.\n",
"attributes.\n", rem); rem, current->comm);
err = 0; err = 0;
errout: errout:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment