Re: Re: [PATCH v1 1/2] sysctl: cap to ULONG_MAX in proc_get_long()

From: Kees Cook
Date: Mon Oct 15 2018 - 17:15:30 EST


On Mon, Oct 15, 2018 at 12:32 PM, Christian Brauner
<christian@xxxxxxxxxx> wrote:
> On Mon, Oct 15, 2018 at 9:27 PM Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
>>
>> > int kstrtoul_bounded(const char *s, unsigned int base,
>> > char **trailing, unsigned long long *res)
>>
>> NO! The whole point is not have million variants of slightly different
>> integer parsing functions.
>> Cap it in the sysctl -- noone would care.
>
> (Please keep the CC list when replying.)
>
> Whatever works; I prefer the local strtoul_cap_erange() in kernel/sysctl.c as
> well.

This does match the standard of "evolution" for the kernel: there is
only one user currently, so keep it a static in sysctl.c. If we grow a
greater need, we can move it into lib/.

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

--
Kees Cook
Pixel Security