Re: [PATCH v1 1/1] genirq: Bump the size of the local variable for sprintf()

From: Andy Shevchenko
Date: Sat May 17 2025 - 12:35:45 EST


On Fri, May 16, 2025 at 12:23:17PM +0200, Jiri Slaby wrote:
> On 16. 05. 25, 11:07, Andy Shevchenko wrote:
> > On Fri, May 16, 2025 at 06:45:04AM +0200, Jiri Slaby wrote:
> > > On 15. 05. 25, 10:55, Andy Shevchenko wrote:

...

> > > > - char name [10];
> > > > + char name [12];
> > >
> > > The max irq is ~ 512000, if I am counting correctly, so 7 B should be
> > > actually enough for everybody ;).
> >
> > GCC can't proved it. And FWIW, on current Debian unstable (GCC 14?) I can't
> > reproduce this. In any case this doesn't increase stack usage AFAICT, the array
> > already have reserved 12 or 16 bytes.
>
> Yes, sure, I am not disputing the fix.
>
> > > But well, can we silence the warning in a better way? I doubt that...
> >
> > With the above said, I think it's pretty much close to the best way.
> > But if you find anything better, I also would like to learn.
>
> Perhaps next in row would be using snprintf(), but dunno if it's better at
> all.

Try it. I believe you will get the same result. The problem is not in 'n' or
'n'-less variant, the problem is that GCC can't prove the limits of the input
value.

--
With Best Regards,
Andy Shevchenko