Re: sched/debug: Dump end of stack when detected corrupted
From: John Paul Adrian Glaubitz
Date: Fri Sep 06 2024 - 04:46:18 EST
Hi Feng,
> - if (task_stack_end_corrupted(prev))
> + if (task_stack_end_corrupted(prev)) {
> + unsigned long *ptr = end_of_stack(prev);
> +
> + /* Dump 16 ulong words around the corruption point */
> +#ifdef CONFIG_STACK_GROWSUP
> + ptr -= 15;
> +#endif
> + print_hex_dump(KERN_ERR, "Corrupted Stack: ",
> + DUMP_PREFIX_ADDRESS, 16, 1, ptr, 16 * sizeof(*ptr), 1);
> +
I would recommend determining the buffer element size with sizeof(unsigned long) for
better readability and using "true" instead of "1" to set the value of the ascii
parameter to print_hex_dump(), see [1]. Otherwise looks good to me.
Reviewed-by: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
PS: Please CC me for a potential v3.
Thanks,
Adrian
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/hexdump.c#n252
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913