| From: Jim Cromie <jim.cromie@gmail.com> |
| Subject: kmemleak: add checksum to backtrace report |
| Date: Thu, 16 Nov 2023 15:43:18 -0700 |
| |
| Change /sys/kernel/debug/kmemleak report format slightly, adding |
| "(extra info)" to the backtrace header: |
| |
| from: " backtrace:" |
| to: " backtrace (crc <cksum>):" |
| |
| The <cksum> allows a user to see recurring backtraces without |
| detailed/careful reading of multiline stacks. So after cycling |
| kmemleak-test a few times, I know some leaks are repeating. |
| |
| bash-5.2# grep backtrace /sys/kernel/debug/kmemleak | wc |
| 62 186 1792 |
| bash-5.2# grep backtrace /sys/kernel/debug/kmemleak | sort -u | wc |
| 37 111 1067 |
| |
| syzkaller parses kmemleak for "unreferenced object" only, so is |
| unaffected by this change. Other github repos are moribund. |
| |
| Link: https://lkml.kernel.org/r/20231116224318.124209-3-jim.cromie@gmail.com |
| Signed-off-by: Jim Cromie <jim.cromie@gmail.com> |
| Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| mm/kmemleak.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/mm/kmemleak.c~kmemleak-add-checksum-to-backtrace-report |
| +++ a/mm/kmemleak.c |
| @@ -362,7 +362,7 @@ static void print_unreferenced(struct se |
| warn_or_seq_printf(seq, " comm \"%s\", pid %d, jiffies %lu\n", |
| object->comm, object->pid, object->jiffies); |
| hex_dump_object(seq, object); |
| - warn_or_seq_printf(seq, " backtrace:\n"); |
| + warn_or_seq_printf(seq, " backtrace (crc %x):\n", object->checksum); |
| |
| for (i = 0; i < nr_entries; i++) { |
| void *ptr = (void *)entries[i]; |
| _ |