On Tue, Sep 26, 2023 at 2:00 AM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > On Mon, Sep 25, 2023 at 04:31:05AM +0000, Justin Stitt wrote: > > This code is doing more work than it needs to. > > > > Before handing off `val_str` to `kstrtouint()` we are eagerly removing > > any trailing newline which requires copying `buf`, validating it's > > length and checking/replacing any potential newlines. > > > > kstrtouint() handles this implicitly: > > kstrtouint -> > > kstrotoull -> (documentation) > > | /** > > | * kstrtoull - convert a string to an unsigned long long > > | * @s: The start of the string. The string must be null-terminated, and may also > > | * include a single newline before its terminating null. The first character > > | ... > > > > Let's remove the redundant functionality and let kstrtouint handle it. > > > > Link: https://github.com/KSPP/linux/issues/90 > > Cc: linux-hardening@xxxxxxxxxxxxxxx > > Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx> > > Signed-off-by: Justin Stitt <justinstitt@xxxxxxxxxx> > > This looks much cleaner. Thanks! > > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx>