On Mon, Dec 22, 2025 at 6:11 AM David Laight <david.laight.linux@gmail.com> wrote:
On Sun, 21 Dec 2025 20:26:37 +0800
Li Wang <liwang@redhat.com> wrote:

> write_to_hugetlbfs currently parses the -s size argument with atoi()
> into an int. This silently accepts malformed input, cannot report overflow,
> and can truncate large sizes.

And sscanf() will just ignore invalid trailing characters.
Probably much the same as atoi() apart from a leading '-'.

Maybe you could use "%zu%c" and check the count is 1 - but I bet
some static checker won't like that.

Yes, that would be stronger, since it would reject trailing garbage.
But for a selftest this is probably sufficient: switching to size_t and
parsing with "%zu" already avoids the int truncation issue.

@Andrew Morton

Hi Andrew, I noticed you have addedthe patches to your mm-new branch,
Let me know if you prefer the "%zu%c" enhancement in a new version.


--
Regards,
Li Wang