linux/scripts/mod
Alexandre Courbot d7231d8cb2
scripts: modpost: detect and report truncated buf_printf() output
buf_printf() uses a fixed-size stack buffer. vsnprintf() returns the
number of bytes that *would* have been written to that buffer, which can
be larger than the size of said buffer if the formatted string is too
long.

The problem is that whenever this happens buf_printf() currently passes
this length, unchecked, to buf_write(), which silently reads past the
stack buffer and copies invalid data into the output buffer.

Fix this by detecting vsnprintf() failures and truncations before
appending to the output buffer, and report a fatal error instead of
producing corrupt symbol names.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Link: https://patch.msgid.link/20260527-nova-exports-v2-1-06de4c556d55@nvidia.com
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2026-05-28 09:57:13 -07:00
..
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
devicetable-offsets.c mcb: Add missing modpost build support 2025-12-27 20:48:01 +01:00
empty.c
file2alias.c mcb: Add missing modpost build support 2025-12-27 20:48:01 +01:00
Makefile Makefile: remove redundant tool coverage variables 2024-05-14 23:35:48 +09:00
mk_elfconfig.c modpost: detect endianness on run-time 2024-09-01 20:33:32 +09:00
modpost.c scripts: modpost: detect and report truncated buf_printf() output 2026-05-28 09:57:13 -07:00
modpost.h modpost: Create modalias for builtin modules 2025-09-24 09:10:45 -07:00
sumversion.c modpost: use strstarts() to clean up parse_source_files() 2025-03-15 21:16:22 +09:00
symsearch.c modpost: replace the use of NOFAIL() with xmalloc() etc. 2024-09-01 20:34:48 +09:00