diff mbox

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

Message ID 1401454647-28228-1-git-send-email-mschmidt@redhat.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Michal Schmidt May 30, 2014, 12:57 p.m. UTC
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.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
---
 lib/nlattr.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Sergei Shtylyov May 30, 2014, 2:26 p.m. UTC | #1
Hello.

On 05/30/2014 04:57 PM, Michal Schmidt wrote:

> 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.

> Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
> ---
>   lib/nlattr.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)

> diff --git a/lib/nlattr.c b/lib/nlattr.c
> index fc67547..31047c4 100644
> --- a/lib/nlattr.c
> +++ b/lib/nlattr.c
> @@ -201,8 +201,9 @@ 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);
> +		printk_ratelimited(KERN_WARNING

    Better pr_warn_ratelimited().

> +				   "netlink: %d bytes leftover after parsing attributes in process `%s'.\n",
> +				   rem, current->comm);

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller May 31, 2014, 12:16 a.m. UTC | #2
From: Michal Schmidt <mschmidt@redhat.com>
Date: Fri, 30 May 2014 14:57:27 +0200

> 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.
> 
> Signed-off-by: Michal Schmidt <mschmidt@redhat.com>

Please use pr_warn_ratelimited() as suggested by Sergei.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/lib/nlattr.c b/lib/nlattr.c
index fc67547..31047c4 100644
--- a/lib/nlattr.c
+++ b/lib/nlattr.c
@@ -201,8 +201,9 @@  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);
+		printk_ratelimited(KERN_WARNING
+				   "netlink: %d bytes leftover after parsing attributes in process `%s'.\n",
+				   rem, current->comm);
 
 	err = 0;
 errout: