diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2014-06-02 18:25:02 +0200 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2014-07-11 13:33:57 +0100 |
commit | 7343f010459a76c02ab4868a7301ae998f451a37 (patch) | |
tree | cf9314fd24cfac084ecc4bbe027b3b914289f919 | |
parent | f50bf61a3282988b2fe46e8cb88c9b8698a2d8d2 (diff) |
netlink: rate-limit leftover bytes warning and print process name
[ Upstream commit bfc5184b69cf9eeb286137640351c650c27f118a ]
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: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: David 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: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r-- | lib/nlattr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/nlattr.c b/lib/nlattr.c index 190ae10126b..be25e355a5a 100644 --- a/lib/nlattr.c +++ b/lib/nlattr.c @@ -12,6 +12,8 @@ #include <linux/netdevice.h> #include <linux/skbuff.h> #include <linux/string.h> +#include <linux/ratelimit.h> +#include <linux/sched.h> #include <linux/types.h> #include <net/netlink.h> @@ -197,8 +199,8 @@ int nla_parse(struct nlattr **tb, int maxtype, const struct nlattr *head, } if (unlikely(rem > 0)) - printk(KERN_WARNING "netlink: %d bytes leftover after parsing " - "attributes.\n", rem); + pr_warn_ratelimited("netlink: %d bytes leftover after parsing attributes in process `%s'.\n", + rem, current->comm); err = 0; errout: |