Re: simple_strtoull() - FIXME?

From: Ryan Mallon
Date: Mon Mar 12 2012 - 19:19:50 EST


On 13/03/12 03:16, Shuah Khan wrote:

> What's this FIXME in simple_strtoull() for? Something to be terribly
> concerned about and need fixing (assuming there is something that still
> needs fixing)
>
> unsigned long long simple_strtoull(const char *cp, char **endp, unsigned
> int base)
> {
> unsigned long long result;
> unsigned int rv;
>
> cp = _parse_integer_fixup_radix(cp, &base);
> rv = _parse_integer(cp, base, &result);
> /* FIXME */


git blame/show answers your question. From the commit message of
1dff46d6: lib/kstrtox: common code between kstrto*() and simple_strto*()
functions:

simple_strtoull() (and scanf(), BTW) ignores integer overflow, that's a
bug we currently don't have guts to fix, making KSTRTOX_OVERFLOW hack
necessary.

Note that simple_strtoull and friends are now deprecated (see
include/linux/kernel.h) and you should now be using the kstrto*
functions instead.

~Ryan

--
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/