From: Nathan Chancellor <nathan@kernel.org>
To: Kees Cook <kees@kernel.org>
Cc: Youling Tang <tangyouling@kylinos.cn>,
Huacai Chen <chenhuacai@loongson.cn>,
Huacai Chen <chenhuacai@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Pasha Tatashin <pasha.tatashin@soleen.com>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
David Disseldorp <ddiss@suse.de>,
Qun-Wei Lin <qun-wei.lin@mediatek.com>,
linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org
Subject: Re: [PATCH] sched/task_stack: Add missing const qualifier to end_of_stack()
Date: Sun, 27 Jul 2025 08:50:47 -0700 [thread overview]
Message-ID: <20250727155047.GA1183915@ax162> (raw)
In-Reply-To: <20250726210641.work.114-kees@kernel.org>
On Sat, Jul 26, 2025 at 02:06:46PM -0700, Kees Cook wrote:
> Add missing const qualifier to the non-CONFIG_THREAD_INFO_IN_TASK
> version of end_of_stack() to match the CONFIG_THREAD_INFO_IN_TASK
> version. Fixes a warning with CONFIG_KSTACK_ERASE=y on archs that don't
> select THREAD_INFO_IN_TASK (such as LoongArch):
>
> error: passing 'const struct task_struct *' to parameter of type 'struct task_struct *' discards qualifiers
>
> The stackleak_task_low_bound() function correctly uses a const task
> parameter, but the legacy end_of_stack() prototype didn't like that.
>
> Build tested on loongarch (with CONFIG_KSTACK_ERASE=y) and m68k
> (with CONFIG_DEBUG_STACK_USAGE=y).
>
> Fixes: a45728fd4120 ("LoongArch: Enable HAVE_ARCH_STACKLEAK")
> Reported-by: Nathan Chancellor <nathan@kernel.org>
> Closes: https://lore.kernel.org/all/20250726004313.GA3650901@ax162
> Cc: Youling Tang <tangyouling@kylinos.cn>
> Cc: Huacai Chen <chenhuacai@loongson.cn>
> Signed-off-by: Kees Cook <kees@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
> ---
> include/linux/sched/task_stack.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/sched/task_stack.h b/include/linux/sched/task_stack.h
> index 85c5a6392e02..1fab7e9043a3 100644
> --- a/include/linux/sched/task_stack.h
> +++ b/include/linux/sched/task_stack.h
> @@ -53,7 +53,7 @@ static inline void setup_thread_stack(struct task_struct *p, struct task_struct
> * When the stack grows up, this is the highest address.
> * Beyond that position, we corrupt data on the next page.
> */
> -static inline unsigned long *end_of_stack(struct task_struct *p)
> +static inline unsigned long *end_of_stack(const struct task_struct *p)
> {
> #ifdef CONFIG_STACK_GROWSUP
> return (unsigned long *)((unsigned long)task_thread_info(p) + THREAD_SIZE) - 1;
> --
> 2.34.1
>
prev parent reply other threads:[~2025-07-27 15:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-26 21:06 [PATCH] sched/task_stack: Add missing const qualifier to end_of_stack() Kees Cook
2025-07-27 15:50 ` Nathan Chancellor [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250727155047.GA1183915@ax162 \
--to=nathan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=chenhuacai@kernel.org \
--cc=chenhuacai@loongson.cn \
--cc=ddiss@suse.de \
--cc=kees@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pasha.tatashin@soleen.com \
--cc=peterz@infradead.org \
--cc=qun-wei.lin@mediatek.com \
--cc=tangyouling@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.