Re: [PATCH v3] watchdog/perf: one digit too short in the raw event config copy

From: Bradley Morgan

Date: Sun Oct 04 2026 - 09:19:29 EST


On 4 October 2026 14:15:39 BST, Doug Anderson <dianders@xxxxxxxxxxxx>
wrote:
>Hi,
>
>On Sat, Oct 3, 2026 at 3:40 AM Bradley Morgan <brads@xxxxxxxxxxxxxx>
>wrote:
>>
>> Commit 6164be01f179 ("watchdog/perf: optimize bytes copied and remove
>> manual NUL-termination") swapped strscpy(buf, str, sizeof(buf)) plus a
>> manual buf[len] = 0 for strscpy(buf, str, len), and that count is one
>> short. strscpy() keeps the last byte of the destination for the NUL,
>> so the config loses its final digit, nmi_watchdog=r300,panic for
>> example ends up with buf = "30" and arms the raw event with the wrong
>> config.
>>
>> The empty case falls over too, strscpy() with a zero count writes
>> nothing at all, so nmi_watchdog=r,1 leaves buf uninitialized and
>> kstrtoull() reads whatever stack garbage is sitting there.
>>
>> The old code was safe on both by accident, it filled the whole buffer
>> first and buf[len] = 0 then stomped the comma position, so the worst
>> you got was a truncated parse failure.
>>
>> Pass len + 1 so the copy includes the character the NUL replaces, and
>> reject len >= sizeof(buf) like it was before the optimization, which
>> also turns an empty config back into a clean parse failure.
>>
>> Fixes: 6164be01f179 ("watchdog/perf: optimize bytes copied and remove
>manual NUL-termination")
>> Signed-off-by: Bradley Morgan <brads@xxxxxxxxxxxxxx>
>> Changes since v2:
>>
>> - rebased on pristine mainline, v2 was cut on top of v1 so the diff
>> carried v1's hunks
>> - the intro note moved below the cut, it ended up in the commit
>> message in v2
>> - dropped the Suggested-by, review feedback doesn't warrant one
>>
>> ---
>> kernel/watchdog_perf.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>Other than your changelog being "before the cut" instead of "after the
>cut", this version looks right to me. I assume it's easier for Andrew
>to just delete the changelog when applying than dealing with another
>version of the patch. He'll presumably yell if he wants you to send a
>new version.
>
>Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
>
>BTW: have you considered using a tool like "b4" or "patman". Those
>should be able to send the email directly for you, resulting in fewer
>goofups...

Hmm, that's not a terrible idea.

At the moment, I use msmtp.

>

--- Thanks!
"I'm not a very positive person" - Linus torvalds