| From: Zhichi Lin <zhichi.lin@vivo.com> |
| Subject: scs: fix a wrong parameter in __scs_magic |
| Date: Sat, 11 Oct 2025 16:22:22 +0800 |
| |
| __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is |
| given. 'task_scs(tsk)' is the starting address of the task's shadow call |
| stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's |
| shadow call stack. Here should be '__scs_magic(task_scs(tsk))'. |
| |
| Link: https://lkml.kernel.org/r/20251011082222.12965-1-zhichi.lin@vivo.com |
| Fixes: 5bbaf9d1fcb9 ("scs: Add support for stack usage debugging") |
| Signed-off-by: Jiyuan Xie <xiejiyuan@vivo.com> |
| Signed-off-by: Zhichi Lin <zhichi.lin@vivo.com> |
| Cc: Andrey Konovalov <andreyknvl@gmail.com> |
| Cc: Kees Cook <keescook@chromium.org> |
| Cc: Marco Elver <elver@google.com> |
| Cc: Sami Tolvanen <samitolvanen@google.com> |
| Cc: Will Deacon <will@kernel.org> |
| Cc: Yee Lee <yee.lee@mediatek.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| kernel/scs.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/kernel/scs.c~scs-fix-a-wrong-parameter-in-__scs_magic |
| +++ a/kernel/scs.c |
| @@ -135,7 +135,7 @@ static void scs_check_usage(struct task_ |
| if (!IS_ENABLED(CONFIG_DEBUG_STACK_USAGE)) |
| return; |
| |
| - for (p = task_scs(tsk); p < __scs_magic(tsk); ++p) { |
| + for (p = task_scs(tsk); p < __scs_magic(task_scs(tsk)); ++p) { |
| if (!READ_ONCE_NOCHECK(*p)) |
| break; |
| used += sizeof(*p); |
| _ |