linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: Borislav Petkov <bp@amd64.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	LKML <linux-kernel@vger.kernel.org>,
	Joe Perches <joe@perches.com>
Subject: Re: tty_init_dev: 24 callbacks suppressed
Date: Fri, 05 Oct 2012 13:17:02 +0200	[thread overview]
Message-ID: <506EC1AE.6000201@suse.cz> (raw)
In-Reply-To: <20121004131101.GA245@x4>

CCing Joe.

On 10/04/2012 03:11 PM, Markus Trippelsdorf wrote:
> On 2012.10.04 at 14:40 +0200, Borislav Petkov wrote:
>> On Thu, Oct 04, 2012 at 01:51:57PM +0200, Markus Trippelsdorf wrote:
>>> diff --git a/include/linux/ratelimit.h b/include/linux/ratelimit.h
>>> index e11ccb4..d8de255 100644
>>> --- a/include/linux/ratelimit.h
>>> +++ b/include/linux/ratelimit.h
>>> @@ -46,20 +46,17 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func);
>>>  #define WARN_ON_RATELIMIT(condition, state)			\
>>>  		WARN_ON((condition) && __ratelimit(state))
>>>  
>>> -#define __WARN_RATELIMIT(condition, state, format...)		\
>>> -({								\
>>> -	int rtn = 0;						\
>>> -	if (unlikely(__ratelimit(state)))			\
>>> -		rtn = WARN(condition, format);			\
>>> -	rtn;							\
>>> -})
>>> -
>>> -#define WARN_RATELIMIT(condition, format...)			\
>>> +#define WARN_RATELIMIT(condition, fmt, ...)			\
>>>  ({								\
>>>  	static DEFINE_RATELIMIT_STATE(_rs,			\
>>>  				      DEFAULT_RATELIMIT_INTERVAL,	\
>>>  				      DEFAULT_RATELIMIT_BURST);	\
>>> -	__WARN_RATELIMIT(condition, &_rs, format);		\
>>> +	int rtn = !!(condition);				\
>>> +								\
>>> +	if (unlikely(rtn && __ratelimit(&_rs)))		\
>>> +		WARN(rtn, fmt, ##__VA_ARGS__);			\
>>> +								\
>>> +	rtn;							\
>>>  })
>>
>> Aha, I see it. We need to look at the condition before the __ratelimit,
>> otherwise we WARN unnecessarily, good catch.
>>
>>>  #else
>>> @@ -67,15 +64,9 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func);
>>>  #define WARN_ON_RATELIMIT(condition, state)			\
>>>  	WARN_ON(condition)
>>>  
>>> -#define __WARN_RATELIMIT(condition, state, format...)		\
>>> -({								\
>>> -	int rtn = WARN(condition, format);			\
>>> -	rtn;							\
>>> -})
>>> -
>>> -#define WARN_RATELIMIT(condition, format...)			\
>>> +#define WARN_RATELIMIT(condition, fmt, ...)			\
>>
>> ... except this change is unrelated and unneeded - there's enough room
>> in 80 cols to leave it as "format" instead of shortening it.
>>
>> Other than that:
>>
>> Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
> 
> I'll let Jiri handle this :). It's his patch anyway.

Actually this is Joe's version of the patch. Joe, people started hitting
the bug [1]. Could you resend your patch?

[1] https://patchwork.kernel.org/patch/1339221/

BTW what scares me that nobody noticed that bug until this is in the
Linus's tree. Do people use -next at all or am I the only one user? (I
didn't hit it as I have the patch in my local queue.)

thanks,
-- 
js
suse labs

  reply	other threads:[~2012-10-05 11:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-04  9:20 tty_init_dev: 24 callbacks suppressed Borislav Petkov
2012-10-04 11:23 ` Markus Trippelsdorf
2012-10-04 11:51   ` Markus Trippelsdorf
2012-10-04 12:40     ` Borislav Petkov
2012-10-04 13:11       ` Markus Trippelsdorf
2012-10-05 11:17         ` Jiri Slaby [this message]
2012-10-05 11:25           ` Alan Cox
2012-10-05 12:27           ` Borislav Petkov
2012-10-05 12:57             ` [PATCH] Fix bogus "callbacks suppressed" messages Markus Trippelsdorf
2012-10-05 14:26               ` Greg Kroah-Hartman
2012-10-05 15:28                 ` Markus Trippelsdorf
2012-10-05 15:29                 ` Borislav Petkov
2012-10-05 15:37                   ` Greg Kroah-Hartman
2012-10-05 15:41                     ` Markus Trippelsdorf
2012-10-05 15:43                     ` Borislav Petkov
2012-10-05 15:48                       ` Markus Trippelsdorf
2012-10-05 16:03                         ` Borislav Petkov
2012-10-05 16:06                         ` Greg Kroah-Hartman
2012-10-05 18:06               ` Jiri Slaby
2012-10-05 15:33           ` tty_init_dev: 24 callbacks suppressed Joe Perches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=506EC1AE.6000201@suse.cz \
    --to=jslaby@suse.cz \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bp@amd64.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markus@trippelsdorf.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).