We don't need to traverse over the entire string and replace occurrences of a character with '\0'. The first match will suffice. Hence, replace strreplace() with strchrnul(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- mm/kasan/report_generic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/kasan/report_generic.c b/mm/kasan/report_generic.c index 51a1e8a8877f..63a34eac4a8c 100644 --- a/mm/kasan/report_generic.c +++ b/mm/kasan/report_generic.c @@ -264,6 +264,7 @@ static void print_decoded_frame_descr(const char *frame_descr) while (num_objects--) { unsigned long offset; unsigned long size; + char *p; /* access offset */ if (!tokenize_frame_descr(&frame_descr, token, sizeof(token), @@ -282,7 +283,7 @@ static void print_decoded_frame_descr(const char *frame_descr) return; /* Strip line number; without filename it's not very helpful. */ - strreplace(token, ':', '\0'); + p[strchrnul(token, ':') - token] = '\0'; /* Finally, print object information. */ pr_err(" [%lu, %lu) '%s'", offset, offset + size, token); -- 2.40.0.1.gaa8946217a0b