* tty_init_dev: 24 callbacks suppressed
@ 2012-10-04 9:20 Borislav Petkov
2012-10-04 11:23 ` Markus Trippelsdorf
0 siblings, 1 reply; 20+ messages in thread
From: Borislav Petkov @ 2012-10-04 9:20 UTC (permalink / raw)
To: Jiri Slaby; +Cc: Greg Kroah-Hartman, Alan Cox, LKML
Hi,
I'm seeing this on today's Linus tree:
[ 24.048278] tty_init_dev: 24 callbacks suppressed
[ 45.630349] tty_init_dev: 3 callbacks suppressed
It is either from that WARN_RATELIMIT thing or the printk_ratelimited
further below in tty_init_dev but I don't know for sure because the
actual text message from both printk's doesn't come out in dmesg - only
that something got suppressed.
And it quiets down later, after the machine has finished booting. Still,
this doesn't tell me anything about any issue. So what's up?
Thanks.
--
Regards/Gruss,
Boris.
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
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
0 siblings, 1 reply; 20+ messages in thread
From: Markus Trippelsdorf @ 2012-10-04 11:23 UTC (permalink / raw)
To: Borislav Petkov; +Cc: Jiri Slaby, Greg Kroah-Hartman, Alan Cox, LKML
On 2012.10.04 at 11:20 +0200, Borislav Petkov wrote:
> Hi,
>
> I'm seeing this on today's Linus tree:
>
> [ 24.048278] tty_init_dev: 24 callbacks suppressed
> [ 45.630349] tty_init_dev: 3 callbacks suppressed
>
> It is either from that WARN_RATELIMIT thing or the printk_ratelimited
> further below in tty_init_dev but I don't know for sure because the
> actual text message from both printk's doesn't come out in dmesg - only
> that something got suppressed.
>
> And it quiets down later, after the machine has finished booting. Still,
> this doesn't tell me anything about any issue. So what's up?
I'm seeing the same thing.
This can be fixed by a slightly modified version of:
https://patchwork.kernel.org/patch/1339221/
diff --git a/include/linux/ratelimit.h b/include/linux/ratelimit.h
index e11ccb4..2d02461 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, state, fmt, ...) \
({ \
static DEFINE_RATELIMIT_STATE(_rs, \
DEFAULT_RATELIMIT_INTERVAL, \
DEFAULT_RATELIMIT_BURST); \
- __WARN_RATELIMIT(condition, &_rs, format); \
+ int rtn = !!(condition); \
+ \
+ if (unlikely(rtn && __ratelimit(state))) \
+ WARN(rtn, fmt, ##__VA_ARGS__); \
+ \
+ rtn; \
})
#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, ...) \
({ \
- int rtn = WARN(condition, format); \
+ int rtn = WARN(condition, fmt, ##__VA_ARGS__); \
rtn; \
})
--
Markus
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
2012-10-04 11:23 ` Markus Trippelsdorf
@ 2012-10-04 11:51 ` Markus Trippelsdorf
2012-10-04 12:40 ` Borislav Petkov
0 siblings, 1 reply; 20+ messages in thread
From: Markus Trippelsdorf @ 2012-10-04 11:51 UTC (permalink / raw)
To: Borislav Petkov; +Cc: Jiri Slaby, Greg Kroah-Hartman, Alan Cox, LKML
On 2012.10.04 at 13:23 +0200, Markus Trippelsdorf wrote:
> On 2012.10.04 at 11:20 +0200, Borislav Petkov wrote:
> > Hi,
> >
> > I'm seeing this on today's Linus tree:
> >
> > [ 24.048278] tty_init_dev: 24 callbacks suppressed
> > [ 45.630349] tty_init_dev: 3 callbacks suppressed
> >
> > It is either from that WARN_RATELIMIT thing or the printk_ratelimited
> > further below in tty_init_dev but I don't know for sure because the
> > actual text message from both printk's doesn't come out in dmesg - only
> > that something got suppressed.
> >
> > And it quiets down later, after the machine has finished booting. Still,
> > this doesn't tell me anything about any issue. So what's up?
>
> I'm seeing the same thing.
> This can be fixed by a slightly modified version of:
> https://patchwork.kernel.org/patch/1339221/
My first patch was wrong. This one should be correct:
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; \
})
#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, ...) \
({ \
- int rtn = WARN(condition, format); \
+ int rtn = WARN(condition, fmt, ##__VA_ARGS__); \
rtn; \
})
--
Markus
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
2012-10-04 11:51 ` Markus Trippelsdorf
@ 2012-10-04 12:40 ` Borislav Petkov
2012-10-04 13:11 ` Markus Trippelsdorf
0 siblings, 1 reply; 20+ messages in thread
From: Borislav Petkov @ 2012-10-04 12:40 UTC (permalink / raw)
To: Markus Trippelsdorf; +Cc: Jiri Slaby, Greg Kroah-Hartman, Alan Cox, LKML
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>
Thanks.
--
Regards/Gruss,
Boris.
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
2012-10-04 12:40 ` Borislav Petkov
@ 2012-10-04 13:11 ` Markus Trippelsdorf
2012-10-05 11:17 ` Jiri Slaby
0 siblings, 1 reply; 20+ messages in thread
From: Markus Trippelsdorf @ 2012-10-04 13:11 UTC (permalink / raw)
To: Borislav Petkov; +Cc: Jiri Slaby, Greg Kroah-Hartman, Alan Cox, LKML
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.
--
Markus
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
2012-10-04 13:11 ` Markus Trippelsdorf
@ 2012-10-05 11:17 ` Jiri Slaby
2012-10-05 11:25 ` Alan Cox
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Jiri Slaby @ 2012-10-05 11:17 UTC (permalink / raw)
To: Markus Trippelsdorf
Cc: Borislav Petkov, Greg Kroah-Hartman, Alan Cox, LKML, Joe Perches
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
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
2012-10-05 11:17 ` Jiri Slaby
@ 2012-10-05 11:25 ` Alan Cox
2012-10-05 12:27 ` Borislav Petkov
2012-10-05 15:33 ` tty_init_dev: 24 callbacks suppressed Joe Perches
2 siblings, 0 replies; 20+ messages in thread
From: Alan Cox @ 2012-10-05 11:25 UTC (permalink / raw)
To: Jiri Slaby
Cc: Markus Trippelsdorf, Borislav Petkov, Greg Kroah-Hartman, LKML,
Joe Perches
> 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.)
I run -next for various things. I'd noticed that funny but you'd started
investigating it before I got to investigating.
Alan
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
2012-10-05 11:17 ` Jiri Slaby
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 15:33 ` tty_init_dev: 24 callbacks suppressed Joe Perches
2 siblings, 1 reply; 20+ messages in thread
From: Borislav Petkov @ 2012-10-05 12:27 UTC (permalink / raw)
To: Jiri Slaby
Cc: Markus Trippelsdorf, Borislav Petkov, Greg Kroah-Hartman,
Alan Cox, LKML, Joe Perches
On Fri, Oct 05, 2012 at 01:17:02PM +0200, Jiri Slaby wrote:
> 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.)
Noticing this before -rc1 and fixing it around that time is still fine
in my book. So can *someone* *please* send a patch already so that we
can forget about this.
Thanks.
--
Regards/Gruss,
Boris.
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH] Fix bogus "callbacks suppressed" messages
2012-10-05 12:27 ` Borislav Petkov
@ 2012-10-05 12:57 ` Markus Trippelsdorf
2012-10-05 14:26 ` Greg Kroah-Hartman
2012-10-05 18:06 ` Jiri Slaby
0 siblings, 2 replies; 20+ messages in thread
From: Markus Trippelsdorf @ 2012-10-05 12:57 UTC (permalink / raw)
To: Borislav Petkov
Cc: Jiri Slaby, Greg Kroah-Hartman, Alan Cox, LKML, Joe Perches
On the current git tree one sees messages such as:
tty_init_dev: 24 callbacks suppressed
tty_init_dev: 3 callbacks suppressed
To fix this we need to look at condition before calling __ratelimit in
the WARN_RATELIMIT macro. While at it remove the superfluous
__WARN_RATELIMIT macros.
Original patch is from Joe Perches and Jiri Slaby.
Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
---
include/linux/ratelimit.h | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/include/linux/ratelimit.h b/include/linux/ratelimit.h
index e11ccb4..0a260d8 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, format, ...) \
({ \
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, format, ##__VA_ARGS__); \
+ \
+ rtn; \
})
#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, format, ...) \
({ \
- int rtn = WARN(condition, format); \
+ int rtn = WARN(condition, format, ##__VA_ARGS__); \
rtn; \
})
--
Markus
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
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 18:06 ` Jiri Slaby
1 sibling, 2 replies; 20+ messages in thread
From: Greg Kroah-Hartman @ 2012-10-05 14:26 UTC (permalink / raw)
To: Markus Trippelsdorf
Cc: Borislav Petkov, Jiri Slaby, Alan Cox, LKML, Joe Perches
On Fri, Oct 05, 2012 at 02:57:17PM +0200, Markus Trippelsdorf wrote:
> On the current git tree one sees messages such as:
> tty_init_dev: 24 callbacks suppressed
> tty_init_dev: 3 callbacks suppressed
>
> To fix this we need to look at condition before calling __ratelimit in
> the WARN_RATELIMIT macro. While at it remove the superfluous
> __WARN_RATELIMIT macros.
>
> Original patch is from Joe Perches and Jiri Slaby.
>
> Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
> Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
> ---
> include/linux/ratelimit.h | 27 +++++++++------------------
> 1 file changed, 9 insertions(+), 18 deletions(-)
I don't have a problem with this patch, but I don't understand why it's
now showing up. There haven't been any changes in the ratelimit.h area
recently that I can see, so why is this change needed now? What is in
the tty layer that is causing this, just the fact that it's actually
being used now?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
2012-10-05 14:26 ` Greg Kroah-Hartman
@ 2012-10-05 15:28 ` Markus Trippelsdorf
2012-10-05 15:29 ` Borislav Petkov
1 sibling, 0 replies; 20+ messages in thread
From: Markus Trippelsdorf @ 2012-10-05 15:28 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Borislav Petkov, Jiri Slaby, Alan Cox, LKML, Joe Perches
On 2012.10.05 at 07:26 -0700, Greg Kroah-Hartman wrote:
> On Fri, Oct 05, 2012 at 02:57:17PM +0200, Markus Trippelsdorf wrote:
> > On the current git tree one sees messages such as:
> > tty_init_dev: 24 callbacks suppressed
> > tty_init_dev: 3 callbacks suppressed
> >
> > To fix this we need to look at condition before calling __ratelimit in
> > the WARN_RATELIMIT macro. While at it remove the superfluous
> > __WARN_RATELIMIT macros.
> >
> > Original patch is from Joe Perches and Jiri Slaby.
> >
> > Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
> > Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
> > ---
> > include/linux/ratelimit.h | 27 +++++++++------------------
> > 1 file changed, 9 insertions(+), 18 deletions(-)
>
> I don't have a problem with this patch, but I don't understand why it's
> now showing up. There haven't been any changes in the ratelimit.h area
> recently that I can see, so why is this change needed now? What is in
> the tty layer that is causing this, just the fact that it's actually
> being used now?
See Jiri's recent commit:
commit 5d4121c04b3577e37e389b3553d442f44bb346d7
Author: Jiri Slaby <jslaby@suse.cz>
Date: Fri Aug 17 14:27:52 2012 +0200
TTY: check if tty->port is assigned
And if not, complain loudly. None in-kernel module should trigger
that, but let us find out for sure. On the other hand, all the
out-of-tree modules will hit that. Give them some time (maybe one
release) to catch up.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index 28c3e86..41e42f1 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -1415,6 +1415,10 @@ struct tty_struct *tty_init_dev(struct tty_driver *driver, int idx)
if (!tty->port)
tty->port = driver->ports[idx];
+ WARN_RATELIMIT(!tty->port,
+ "%s: %s driver does not set tty->port. This will crash the kernel later. Fix the driver!\n",
+ __func__, tty->driver->name);
+
/*
* Structures all installed ... call the ldisc open routines.
* If we fail here just call release_tty to clean up. No need
--
Markus
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
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
1 sibling, 1 reply; 20+ messages in thread
From: Borislav Petkov @ 2012-10-05 15:29 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Markus Trippelsdorf, Borislav Petkov, Jiri Slaby, Alan Cox, LKML,
Joe Perches
On Fri, Oct 05, 2012 at 07:26:39AM -0700, Greg Kroah-Hartman wrote:
> I don't have a problem with this patch, but I don't understand why
> it's now showing up. There haven't been any changes in the ratelimit.h
> area recently that I can see, so why is this change needed now? What
> is in the tty layer that is causing this, just the fact that it's
> actually being used now?
>From my quick semi-skilled git history browsing, I'd say it's
5d4121c04b357 which added the WARN_RATELIMIT to tty_init_dev during the
current merge window.
--
Regards/Gruss,
Boris.
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: tty_init_dev: 24 callbacks suppressed
2012-10-05 11:17 ` Jiri Slaby
2012-10-05 11:25 ` Alan Cox
2012-10-05 12:27 ` Borislav Petkov
@ 2012-10-05 15:33 ` Joe Perches
2 siblings, 0 replies; 20+ messages in thread
From: Joe Perches @ 2012-10-05 15:33 UTC (permalink / raw)
To: Jiri Slaby
Cc: Markus Trippelsdorf, Borislav Petkov, Greg Kroah-Hartman, Alan Cox, LKML
On Fri, 2012-10-05 at 13:17 +0200, Jiri Slaby wrote:
> CCing Joe.
[]
> > 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/
Markus already did that.
I think it'd be fine if someone picked it up.
> 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.)
I think you're the only actual user.
Does anyone else really use it as more than a tree
integration compilation testbed?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
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
0 siblings, 2 replies; 20+ messages in thread
From: Greg Kroah-Hartman @ 2012-10-05 15:37 UTC (permalink / raw)
To: Borislav Petkov
Cc: Markus Trippelsdorf, Jiri Slaby, Alan Cox, LKML, Joe Perches
On Fri, Oct 05, 2012 at 05:29:48PM +0200, Borislav Petkov wrote:
> On Fri, Oct 05, 2012 at 07:26:39AM -0700, Greg Kroah-Hartman wrote:
> > I don't have a problem with this patch, but I don't understand why
> > it's now showing up. There haven't been any changes in the ratelimit.h
> > area recently that I can see, so why is this change needed now? What
> > is in the tty layer that is causing this, just the fact that it's
> > actually being used now?
>
> >From my quick semi-skilled git history browsing, I'd say it's
> 5d4121c04b357 which added the WARN_RATELIMIT to tty_init_dev during the
> current merge window.
So WARN_RATELIMIT was never working properly? If so, how far back does
it go in kernel releases that this should be fixed?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
2012-10-05 15:37 ` Greg Kroah-Hartman
@ 2012-10-05 15:41 ` Markus Trippelsdorf
2012-10-05 15:43 ` Borislav Petkov
1 sibling, 0 replies; 20+ messages in thread
From: Markus Trippelsdorf @ 2012-10-05 15:41 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Borislav Petkov, Jiri Slaby, Alan Cox, LKML, Joe Perches
On 2012.10.05 at 08:37 -0700, Greg Kroah-Hartman wrote:
> On Fri, Oct 05, 2012 at 05:29:48PM +0200, Borislav Petkov wrote:
> > On Fri, Oct 05, 2012 at 07:26:39AM -0700, Greg Kroah-Hartman wrote:
> > > I don't have a problem with this patch, but I don't understand why
> > > it's now showing up. There haven't been any changes in the ratelimit.h
> > > area recently that I can see, so why is this change needed now? What
> > > is in the tty layer that is causing this, just the fact that it's
> > > actually being used now?
> >
> > >From my quick semi-skilled git history browsing, I'd say it's
> > 5d4121c04b357 which added the WARN_RATELIMIT to tty_init_dev during the
> > current merge window.
>
> So WARN_RATELIMIT was never working properly? If so, how far back does
> it go in kernel releases that this should be fixed?
The only user until this merge window was net/core/filter.c. The
WARN_RATELIMIT is used there since v3.0.
--
Markus
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
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
1 sibling, 1 reply; 20+ messages in thread
From: Borislav Petkov @ 2012-10-05 15:43 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Markus Trippelsdorf, Jiri Slaby, Alan Cox, LKML, Joe Perches
On Fri, Oct 05, 2012 at 08:37:06AM -0700, Greg Kroah-Hartman wrote:
> So WARN_RATELIMIT was never working properly? If so, how far back does
> it go in kernel releases that this should be fixed?
Since b3eec79b0776e which added it in May 2011. But the only one other
user is net/core/filter.c.
--
Regards/Gruss,
Boris.
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
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
0 siblings, 2 replies; 20+ messages in thread
From: Markus Trippelsdorf @ 2012-10-05 15:48 UTC (permalink / raw)
To: Borislav Petkov
Cc: Greg Kroah-Hartman, Jiri Slaby, Alan Cox, LKML, Joe Perches
On 2012.10.05 at 17:43 +0200, Borislav Petkov wrote:
> On Fri, Oct 05, 2012 at 08:37:06AM -0700, Greg Kroah-Hartman wrote:
> > So WARN_RATELIMIT was never working properly? If so, how far back does
> > it go in kernel releases that this should be fixed?
>
> Since b3eec79b0776e which added it in May 2011. But the only one othe r
> user is net/core/filter.c.
But it doesn't matter, because the WARN_RATELIMIT in net/core/filter.c
is guarded by a switch statement and uses WARN_RATELIMIT(1,...). So it
could never trigger the bug.
--
Markus
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
2012-10-05 15:48 ` Markus Trippelsdorf
@ 2012-10-05 16:03 ` Borislav Petkov
2012-10-05 16:06 ` Greg Kroah-Hartman
1 sibling, 0 replies; 20+ messages in thread
From: Borislav Petkov @ 2012-10-05 16:03 UTC (permalink / raw)
To: Markus Trippelsdorf
Cc: Greg Kroah-Hartman, Jiri Slaby, Alan Cox, LKML, Joe Perches
On Fri, Oct 05, 2012 at 05:48:47PM +0200, Markus Trippelsdorf wrote:
> On 2012.10.05 at 17:43 +0200, Borislav Petkov wrote:
> > On Fri, Oct 05, 2012 at 08:37:06AM -0700, Greg Kroah-Hartman wrote:
> > > So WARN_RATELIMIT was never working properly? If so, how far back does
> > > it go in kernel releases that this should be fixed?
> >
> > Since b3eec79b0776e which added it in May 2011. But the only one othe r
> > user is net/core/filter.c.
>
> But it doesn't matter, because the WARN_RATELIMIT in net/core/filter.c
> is guarded by a switch statement and uses WARN_RATELIMIT(1,...). So it
> could never trigger the bug.
Yes, but you should say "it covers the bug with a brown paper bag
because the condition is always true."
:-)
--
Regards/Gruss,
Boris.
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
2012-10-05 15:48 ` Markus Trippelsdorf
2012-10-05 16:03 ` Borislav Petkov
@ 2012-10-05 16:06 ` Greg Kroah-Hartman
1 sibling, 0 replies; 20+ messages in thread
From: Greg Kroah-Hartman @ 2012-10-05 16:06 UTC (permalink / raw)
To: Markus Trippelsdorf
Cc: Borislav Petkov, Jiri Slaby, Alan Cox, LKML, Joe Perches
On Fri, Oct 05, 2012 at 05:48:47PM +0200, Markus Trippelsdorf wrote:
> On 2012.10.05 at 17:43 +0200, Borislav Petkov wrote:
> > On Fri, Oct 05, 2012 at 08:37:06AM -0700, Greg Kroah-Hartman wrote:
> > > So WARN_RATELIMIT was never working properly? If so, how far back does
> > > it go in kernel releases that this should be fixed?
> >
> > Since b3eec79b0776e which added it in May 2011. But the only one othe r
> > user is net/core/filter.c.
>
> But it doesn't matter, because the WARN_RATELIMIT in net/core/filter.c
> is guarded by a switch statement and uses WARN_RATELIMIT(1,...). So it
> could never trigger the bug.
Ok, thanks for digging that all up, I'll just merge this in for 3.7.
greg k-h
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] Fix bogus "callbacks suppressed" messages
2012-10-05 12:57 ` [PATCH] Fix bogus "callbacks suppressed" messages Markus Trippelsdorf
2012-10-05 14:26 ` Greg Kroah-Hartman
@ 2012-10-05 18:06 ` Jiri Slaby
1 sibling, 0 replies; 20+ messages in thread
From: Jiri Slaby @ 2012-10-05 18:06 UTC (permalink / raw)
To: Markus Trippelsdorf
Cc: Borislav Petkov, Greg Kroah-Hartman, Alan Cox, LKML, Joe Perches
On 10/05/2012 02:57 PM, Markus Trippelsdorf wrote:
> On the current git tree one sees messages such as:
> tty_init_dev: 24 callbacks suppressed
> tty_init_dev: 3 callbacks suppressed
>
> To fix this we need to look at condition before calling __ratelimit in
> the WARN_RATELIMIT macro. While at it remove the superfluous
> __WARN_RATELIMIT macros.
>
> Original patch is from Joe Perches and Jiri Slaby.
>
> Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
> Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Thanks.
--
js
suse labs
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2012-10-05 18:06 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.