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