[PATCH v6 0/2] lib/vsprintf: Fixes size check

Masami Hiramatsu (Google) posted 2 patches 2 months, 2 weeks ago
lib/vsprintf.c |   51 +++++++++++++++++++++++++++------------------------
1 file changed, 27 insertions(+), 24 deletions(-)
[PATCH v6 0/2] lib/vsprintf: Fixes size check
Posted by Masami Hiramatsu (Google) 2 months, 2 weeks ago
Hi,

Here is the 6th version of patches to fix vsnprintf().

 - Fix to limit the size of width and precision.
 - Warn if the return size is over INT_MAX.

Previous version is here;

https://lore.kernel.org/all/177444525139.185641.12184379647176430297.stgit@devnote2/

This version just makes function header and WARN_ONCE() to one line[1/2].
No functional change.

Thank you,

---

Masami Hiramatsu (Google) (2):
      lib/vsprintf: Fix to check field_width and precision
      lib/vsprintf: Limit the returning size to INT_MAX


 lib/vsprintf.c |   51 +++++++++++++++++++++++++++------------------------
 1 file changed, 27 insertions(+), 24 deletions(-)

--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH v6 0/2] lib/vsprintf: Fixes size check
Posted by Petr Mladek 1 month, 1 week ago
On Thu 2026-03-26 21:11:50, Masami Hiramatsu (Google) wrote:
> Hi,
> 
> Here is the 6th version of patches to fix vsnprintf().
> 
>  - Fix to limit the size of width and precision.
>  - Warn if the return size is over INT_MAX.
> 
> Previous version is here;
> 
> https://lore.kernel.org/all/177444525139.185641.12184379647176430297.stgit@devnote2/
> 
> This version just makes function header and WARN_ONCE() to one line[1/2].
> No functional change.
> 
> Thank you,
> 
> ---
> 
> Masami Hiramatsu (Google) (2):
>       lib/vsprintf: Fix to check field_width and precision
>       lib/vsprintf: Limit the returning size to INT_MAX

JFYI, the patchset has been commited into printk/linux.git,
branch for-7.2-vsprintf-size-checks.

Best Regards,
Petr
Re: [PATCH v6 0/2] lib/vsprintf: Fixes size check
Posted by Masami Hiramatsu (Google) 1 month ago
On Tue, 5 May 2026 10:37:56 +0200
Petr Mladek <pmladek@suse.com> wrote:

> On Thu 2026-03-26 21:11:50, Masami Hiramatsu (Google) wrote:
> > Hi,
> > 
> > Here is the 6th version of patches to fix vsnprintf().
> > 
> >  - Fix to limit the size of width and precision.
> >  - Warn if the return size is over INT_MAX.
> > 
> > Previous version is here;
> > 
> > https://lore.kernel.org/all/177444525139.185641.12184379647176430297.stgit@devnote2/
> > 
> > This version just makes function header and WARN_ONCE() to one line[1/2].
> > No functional change.
> > 
> > Thank you,
> > 
> > ---
> > 
> > Masami Hiramatsu (Google) (2):
> >       lib/vsprintf: Fix to check field_width and precision
> >       lib/vsprintf: Limit the returning size to INT_MAX
> 
> JFYI, the patchset has been commited into printk/linux.git,
> branch for-7.2-vsprintf-size-checks.

Got it, Thank you!


> 
> Best Regards,
> Petr


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH v6 0/2] lib/vsprintf: Fixes size check
Posted by Petr Mladek 1 month, 1 week ago
On Thu 2026-03-26 21:11:50, Masami Hiramatsu (Google) wrote:
> Hi,
> 
> Here is the 6th version of patches to fix vsnprintf().
> 
>  - Fix to limit the size of width and precision.
>  - Warn if the return size is over INT_MAX.
> 
> Previous version is here;
> 
> https://lore.kernel.org/all/177444525139.185641.12184379647176430297.stgit@devnote2/
> 
> This version just makes function header and WARN_ONCE() to one line[1/2].
> No functional change.
> 
> Thank you,
> 
> ---
> 
> Masami Hiramatsu (Google) (2):
>       lib/vsprintf: Fix to check field_width and precision
>       lib/vsprintf: Limit the returning size to INT_MAX

I have finally got back to this series. The last version looks
good to me. It is very conservative. For both patches:

Reviewed-by: Petr Mladek <pmladek@suse.com>

I am going to queue it via the printk tree...

Best Regards,
Petr

PS: My understanding is that it should be safe to make the precision
    handling compatible with glibc/POSIX printf() and treat negative
    values as no given values. Feel free to send this change as
    a followup fix.