Re: [PATCH] swiotlb: Don't DoS us with 'swiotlb buffer is full'

From: Konrad Rzeszutek Wilk
Date: Fri Jan 03 2014 - 13:37:38 EST


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@xxxxxxxxxxxxx>
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>
> 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
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/