Skip to contentSkip to conversation

net: make skb_truesize_bug() call WARN()

PATCH Applied Arjan van de Ven 3 participants 7 messages Nov 25, 2008 – Nov 26, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net: make skb_truesize_bug() call WARN()

Quoted 1 line

From 97a8ab520c378568e172c555a156b469137a3828 Mon Sep 17 00:00:00 2001

From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 08:30:04 -0800
Subject: [PATCH] net: make skb_truesize_bug() call WARN()

The truesize message check is important enough to make it print "BUG" to the user console... lets also make it important enough to spit a backtrace/module list etc so that kerneloops.org can track them.

---
 net/core/skbuff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/core/skbuff.c +1 -1
index 391be91..1a1f4d1 100644
@@ -149,7 +149,7 @@ void skb_under_panic(struct sk_buff *skb, int sz, void *here)
 
 void skb_truesize_bug(struct sk_buff *skb)
 {
-	printk(KERN_ERR "SKB BUG: Invalid truesize (%u) "
+	WARN(1, KERN_ERR "SKB BUG: Invalid truesize (%u) "
 	       "len=%u, sizeof(sk_buff)=%Zd\n",
 	       skb->truesize, skb->len, sizeof(struct sk_buff));
 }
Signature · 8 lines
1.6.0.3



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org
#1 lore raw
Quoted 19 lines · Arjan van de Ven

From 97a8ab520c378568e172c555a156b469137a3828 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 08:30:04 -0800
Subject: [PATCH] net: make skb_truesize_bug() call WARN()

The truesize message check is important enough to make it print "BUG" to the user console... lets also make it important enough to spit a backtrace/module list etc so that kerneloops.org can track them.

---
 net/core/skbuff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/core/skbuff.c +0 -0
index 391be91..1a1f4d1 100644

net/core/skbuff.c void skb_under_panic(struct sk_buff *skb, int sz, void *here) · line 155

Quoted 8 lines
net/core/skbuff.c +1 -1
@@ -149,7 +149,7 @@ void skb_under_panic(struct sk_buff *skb, int sz, void *here)
 
 void skb_truesize_bug(struct sk_buff *skb)
 {
-	printk(KERN_ERR "SKB BUG: Invalid truesize (%u) "
+	WARN(1, KERN_ERR "SKB BUG: Invalid truesize (%u) "
 	       "len=%u, sizeof(sk_buff)=%Zd\n",
 	       skb->truesize, skb->len, sizeof(struct sk_buff));
 }

The bug reports I've seen (with my Debian hat on, not relating to sfc) show that configurations that trigger this warning are likely to trigger many times over and there's nothing the user can do about it. So by all means do make the warning more obvious, but please make it WARN_ON_ONCE and then use printk qualified by net_ratelimit().

Ben.

Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
#2 lore raw
Quoted 27 lines · On Tue, 25 Nov 2008 16:42:03 +0000 Ben Hutchings <[email protected]>…
Quoted 26 lines · Arjan van de Ven

From 97a8ab520c378568e172c555a156b469137a3828 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 08:30:04 -0800
Subject: [PATCH] net: make skb_truesize_bug() call WARN()

The truesize message check is important enough to make it print "BUG" to the user console... lets also make it important enough to spit a backtrace/module list etc so that kerneloops.org can track them.

---
 net/core/skbuff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/core/skbuff.c +1 -1
index 391be91..1a1f4d1 100644
@@ -149,7 +149,7 @@ void skb_under_panic(struct sk_buff *skb, int
 sz, void *here) 
 void skb_truesize_bug(struct sk_buff *skb)
 {
-	printk(KERN_ERR "SKB BUG: Invalid truesize (%u) "
+	WARN(1, KERN_ERR "SKB BUG: Invalid truesize (%u) "
 	       "len=%u, sizeof(sk_buff)=%Zd\n",
Quoted 9 lines

net/core/skbuff.c void skb_under_panic(struct sk_buff *skb, int · line 155

Quoted 2 lines
net/core/skbuff.c +0 -0
 	       skb->truesize, skb->len, sizeof(struct sk_buff));
 }

The bug reports I've seen (with my Debian hat on, not relating to sfc) show that configurations that trigger this warning are likely to trigger many times over and there's nothing the user can do about it. So by all means do make the warning more obvious, but please make it WARN_ON_ONCE and then use printk qualified by net_ratelimit().

if there's no value in those subsequent printk's.. why not just this?

From 97a8ab520c378568e172c555a156b469137a3828 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 08:30:04 -0800
Subject: [PATCH] net: make skb_truesize_bug() call WARN()

The truesize message check is important enough to make it print "BUG" to the user console... lets also make it important enough to spit a backtrace/module list etc so that kerneloops.org can track them.

---
 net/core/skbuff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/core/skbuff.c +1 -1
index 391be91..1a1f4d1 100644
@@ -149,7 +149,7 @@ void skb_under_panic(struct sk_buff *skb, int sz, void *here)
 
 void skb_truesize_bug(struct sk_buff *skb)
 {
-	printk(KERN_ERR "SKB BUG: Invalid truesize (%u) "
+	WARN_ONCE(1, KERN_ERR "SKB BUG: Invalid truesize (%u) "
 	       "len=%u, sizeof(sk_buff)=%Zd\n",
 	       skb->truesize, skb->len, sizeof(struct sk_buff));
 }
Signature · 1 line
1.6.0.3
#3 lore raw
Quoted 13 lines · Arjan van de Ven
Quoted 10 lines · On Tue, 25 Nov 2008 16:42:03 +0000 Ben Hutchings <[email protected]>…
Quoted 9 lines · Arjan van de Ven

From 97a8ab520c378568e172c555a156b469137a3828 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 08:30:04 -0800
Subject: [PATCH] net: make skb_truesize_bug() call WARN()

The truesize message check is important enough to make it print "BUG" to the user console... lets also make it important enough to spit a backtrace/module list etc so that kerneloops.org can track them.

[...]

Quoted 8 lines
Quoted 6 lines

The bug reports I've seen (with my Debian hat on, not relating to sfc) show that configurations that trigger this warning are likely to trigger many times over and there's nothing the user can do about it. So by all means do make the warning more obvious, but please make it WARN_ON_ONCE and then use printk qualified by net_ratelimit().

if there's no value in those subsequent printk's.. why not just this?

[...]

I think there may be some value in them: users who want to help debug this can experiment to see which configurations or traffic types do or don't result in invalid truesize.

Ben.

Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
maintainer
#4 lore raw

From: Ben Hutchings <[email protected]>
Date: Tue, 25 Nov 2008 18:02:19 +0000

Quoted 22 lines · Arjan van de Ven
Quoted 13 lines
Quoted 10 lines · On Tue, 25 Nov 2008 16:42:03 +0000 Ben Hutchings <[email protected]>…
Quoted 9 lines · Arjan van de Ven

From 97a8ab520c378568e172c555a156b469137a3828 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 08:30:04 -0800
Subject: [PATCH] net: make skb_truesize_bug() call WARN()

The truesize message check is important enough to make it print "BUG" to the user console... lets also make it important enough to spit a backtrace/module list etc so that kerneloops.org can track them.

[...]

Quoted 7 lines
Quoted 6 lines

The bug reports I've seen (with my Debian hat on, not relating to sfc) show that configurations that trigger this warning are likely to trigger many times over and there's nothing the user can do about it. So by all means do make the warning more obvious, but please make it WARN_ON_ONCE and then use printk qualified by net_ratelimit().

Quoted 6 lines
Quoted 1 line

if there's no value in those subsequent printk's.. why not just this?

[...]

I think there may be some value in them: users who want to help debug this can experiment to see which configurations or traffic types do or don't result in invalid truesize.

Agreed, netlimit'ing this is the best way to go.

#5 lore raw
Quoted 5 lines · On Tue, 25 Nov 2008 13:54:34 -0800 (PST) David Miller <[email protected]>…
Quoted 3 lines

I think there may be some value in them: users who want to help debug this can experiment to see which configurations or traffic types do or don't result in invalid truesize.

Agreed, netlimit'ing this is the best way to go.

ok

Quoted 1 line

From 84515e1255c0ec2437cb62cd59de6ed9d6465fa1 Mon Sep 17 00:00:00 2001

From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 08:30:04 -0800
Subject: [PATCH] net: make skb_truesize_bug() call WARN()

The truesize message check is important enough to make it print "BUG" to the user console... lets also make it important enough to spit a backtrace/module list etc so that kerneloops.org can track them.

---
 net/core/skbuff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/core/skbuff.c +1 -1
index 391be91..a939215 100644
@@ -149,7 +149,7 @@ void skb_under_panic(struct sk_buff *skb, int sz, void *here)
 
 void skb_truesize_bug(struct sk_buff *skb)
 {
-	printk(KERN_ERR "SKB BUG: Invalid truesize (%u) "
+	WARN(net_ratelimit(), KERN_ERR "SKB BUG: Invalid truesize (%u) "
 	       "len=%u, sizeof(sk_buff)=%Zd\n",
 	       skb->truesize, skb->len, sizeof(struct sk_buff));
 }
Signature · 8 lines
1.6.0.3



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org
maintainer Applied
#6 lore raw

From: Arjan van de Ven <[email protected]>
Date: Tue, 25 Nov 2008 14:15:11 -0800

Quoted 10 lines
Quoted 5 lines · On Tue, 25 Nov 2008 13:54:34 -0800 (PST) David Miller <[email protected]>…
Quoted 3 lines

I think there may be some value in them: users who want to help debug this can experiment to see which configurations or traffic types do or don't result in invalid truesize.

Agreed, netlimit'ing this is the best way to go.

ok

...

Quoted 1 line

Subject: [PATCH] net: make skb_truesize_bug() call WARN()

Applied, thanks a lot Arjan.