linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full'
@ 2013-12-31 15:54 Konrad Rzeszutek Wilk
  2014-01-03 13:35 ` Stefano Stabellini
  0 siblings, 1 reply; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2013-12-31 15:54 UTC (permalink / raw)
  To: linux-kernel; +Cc: Konrad Rzeszutek Wilk, Stefano Stabellini

There is no need for that so lets use ratelimiting.
Also add some extra information to be helpful.

CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 lib/swiotlb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index e4399fa..7c97bd2 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -505,7 +505,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
 
 not_found:
 	spin_unlock_irqrestore(&io_tlb_lock, flags);
-	dev_warn(hwdev, "swiotlb buffer is full\n");
+	if (printk_ratelimit())
+		dev_warn(hwdev, "swiotlb buffer is full (sz: %ld bytes)\n", size);
 	return SWIOTLB_MAP_ERROR;
 found:
 	spin_unlock_irqrestore(&io_tlb_lock, flags);
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full'
  2013-12-31 15:54 [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full' Konrad Rzeszutek Wilk
@ 2014-01-03 13:35 ` Stefano Stabellini
  2014-01-03 18:36   ` Konrad Rzeszutek Wilk
  2014-01-06 18:46   ` Konrad Rzeszutek Wilk
  0 siblings, 2 replies; 5+ messages in thread
From: Stefano Stabellini @ 2014-01-03 13:35 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: linux-kernel, Stefano Stabellini

On Tue, 31 Dec 2013, Konrad Rzeszutek Wilk wrote:
> There is no need for that so lets use ratelimiting.
> Also add some extra information to be helpful.
> 
> CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

lib/swiotlb.c: In function 'swiotlb_tbl_map_single':
lib/swiotlb.c:509:3: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]


>  lib/swiotlb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> index e4399fa..7c97bd2 100644
> --- a/lib/swiotlb.c
> +++ b/lib/swiotlb.c
> @@ -505,7 +505,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
>  
>  not_found:
>  	spin_unlock_irqrestore(&io_tlb_lock, flags);
> -	dev_warn(hwdev, "swiotlb buffer is full\n");
> +	if (printk_ratelimit())
> +		dev_warn(hwdev, "swiotlb buffer is full (sz: %ld bytes)\n", size);
>  	return SWIOTLB_MAP_ERROR;
>  found:
>  	spin_unlock_irqrestore(&io_tlb_lock, flags);
> -- 
> 1.8.3.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full'
  2014-01-03 13:35 ` Stefano Stabellini
@ 2014-01-03 18:36   ` Konrad Rzeszutek Wilk
  2014-01-06 18:46   ` Konrad Rzeszutek Wilk
  1 sibling, 0 replies; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-01-03 18:36 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: linux-kernel

On Fri, Jan 03, 2014 at 01:35:52PM +0000, Stefano Stabellini wrote:
> On Tue, 31 Dec 2013, Konrad Rzeszutek Wilk wrote:
> > There is no need for that so lets use ratelimiting.
> > Also add some extra information to be helpful.
> > 
> > CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> lib/swiotlb.c: In function 'swiotlb_tbl_map_single':
> lib/swiotlb.c:509:3: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]

:-)

I had this feeling that the %ld would not work on 32-bit
or other platforms but decided to resist the urge and just
post it as is.

Will fix it up!

> 
> 
> >  lib/swiotlb.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> > index e4399fa..7c97bd2 100644
> > --- a/lib/swiotlb.c
> > +++ b/lib/swiotlb.c
> > @@ -505,7 +505,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
> >  
> >  not_found:
> >  	spin_unlock_irqrestore(&io_tlb_lock, flags);
> > -	dev_warn(hwdev, "swiotlb buffer is full\n");
> > +	if (printk_ratelimit())
> > +		dev_warn(hwdev, "swiotlb buffer is full (sz: %ld bytes)\n", size);
> >  	return SWIOTLB_MAP_ERROR;
> >  found:
> >  	spin_unlock_irqrestore(&io_tlb_lock, flags);
> > -- 
> > 1.8.3.1
> > 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full'
  2014-01-03 13:35 ` Stefano Stabellini
  2014-01-03 18:36   ` Konrad Rzeszutek Wilk
@ 2014-01-06 18:46   ` Konrad Rzeszutek Wilk
  2014-01-07 13:03     ` Stefano Stabellini
  1 sibling, 1 reply; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-01-06 18:46 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: linux-kernel

On Fri, Jan 03, 2014 at 01:35:52PM +0000, Stefano Stabellini wrote:
> On Tue, 31 Dec 2013, Konrad Rzeszutek Wilk wrote:
> > There is no need for that so lets use ratelimiting.
> > Also add some extra information to be helpful.
> > 
> > CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> lib/swiotlb.c: In function 'swiotlb_tbl_map_single':
> lib/swiotlb.c:509:3: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
> 

How about this:

>From c83a2ab5d5fbc502b4165262a2983c2ad646f061 Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Mon, 16 Dec 2013 14:05:01 -0500
Subject: [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full' (v2)

There is no need for that so lets use ratelimiting.
Also add some extra information to be helpful.

CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[v2: s/ld/zs on the printk]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 lib/swiotlb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index e4399fa..4634ac9 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -505,7 +505,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
 
 not_found:
 	spin_unlock_irqrestore(&io_tlb_lock, flags);
-	dev_warn(hwdev, "swiotlb buffer is full\n");
+	if (printk_ratelimit())
+		dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", size);
 	return SWIOTLB_MAP_ERROR;
 found:
 	spin_unlock_irqrestore(&io_tlb_lock, flags);
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full'
  2014-01-06 18:46   ` Konrad Rzeszutek Wilk
@ 2014-01-07 13:03     ` Stefano Stabellini
  0 siblings, 0 replies; 5+ messages in thread
From: Stefano Stabellini @ 2014-01-07 13:03 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: Stefano Stabellini, linux-kernel

On Mon, 6 Jan 2014, Konrad Rzeszutek Wilk wrote:
> On Fri, Jan 03, 2014 at 01:35:52PM +0000, Stefano Stabellini wrote:
> > On Tue, 31 Dec 2013, Konrad Rzeszutek Wilk wrote:
> > > There is no need for that so lets use ratelimiting.
> > > Also add some extra information to be helpful.
> > > 
> > > CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > 
> > lib/swiotlb.c: In function 'swiotlb_tbl_map_single':
> > lib/swiotlb.c:509:3: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
> > 
> 
> How about this:
> 
> >From c83a2ab5d5fbc502b4165262a2983c2ad646f061 Mon Sep 17 00:00:00 2001
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Date: Mon, 16 Dec 2013 14:05:01 -0500
> Subject: [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full' (v2)
> 
> There is no need for that so lets use ratelimiting.
> Also add some extra information to be helpful.
> 
> CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> [v2: s/ld/zs on the printk]
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  lib/swiotlb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> index e4399fa..4634ac9 100644
> --- a/lib/swiotlb.c
> +++ b/lib/swiotlb.c
> @@ -505,7 +505,8 @@ phys_addr_t swiotlb_tbl_map_single(struct device *hwdev,
>  
>  not_found:
>  	spin_unlock_irqrestore(&io_tlb_lock, flags);
> -	dev_warn(hwdev, "swiotlb buffer is full\n");
> +	if (printk_ratelimit())
> +		dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", size);
>  	return SWIOTLB_MAP_ERROR;
>  found:
>  	spin_unlock_irqrestore(&io_tlb_lock, flags);
> -- 
> 1.8.3.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-01-07 13:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-31 15:54 [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full' Konrad Rzeszutek Wilk
2014-01-03 13:35 ` Stefano Stabellini
2014-01-03 18:36   ` Konrad Rzeszutek Wilk
2014-01-06 18:46   ` Konrad Rzeszutek Wilk
2014-01-07 13:03     ` Stefano Stabellini

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