diff options
author | John Ogness <[email protected]> | 2020-09-30 11:07:33 +0206 |
---|---|---|
committer | Petr Mladek <[email protected]> | 2020-09-30 13:30:28 +0200 |
commit | 59f8bcca1ef6a5326f7c127e11b949e745bfa230 (patch) | |
tree | 52d947f428b834079aa907ec10be9967376ab5a8 /tools/perf/scripts/python/stat-cpi.py | |
parent | f35efc78add6439a9fbe611f2dd517641e82d067 (diff) |
printk: avoid and/or handle record truncation
If a reader provides a buffer that is smaller than the message text,
the @text_len field of @info will have a value larger than the buffer
size. If readers blindly read @text_len bytes of data without
checking the size, they will read beyond their buffer.
Add this check to record_print_text() to properly recognize when such
truncation has occurred.
Add a maximum size argument to the ringbuffer function to extend
records so that records can not be created that are larger than the
buffer size of readers.
When extending records (LOG_CONT), do not extend records beyond
LOG_LINE_MAX since that is the maximum size available in the buffers
used by consoles and syslog.
Fixes: f5f022e53b87 ("printk: reimplement log_cont using record extension")
Reported-by: Marek Szyprowski <[email protected]>
Signed-off-by: John Ogness <[email protected]>
Reviewed-by: Petr Mladek <[email protected]>
Signed-off-by: Petr Mladek <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/stat-cpi.py')
0 files changed, 0 insertions, 0 deletions