[PATCH] sched/core: validate sched_proxy_exec bootarg format

From: Joseph Salisbury

Date: Fri Mar 13 2026 - 14:57:48 EST


setup_proxy_exec() currently accepts any non-empty suffix and parses
str + 1, even when the boot argument does not contain '='.

Because __setup("sched_proxy_exec", ...) matches by prefix, malformed
tokens can reach setup_proxy_exec() without an '=' and be interpreted
from the wrong offset instead of being rejected.

Require either an empty suffix or an explicit '=bool' suffix before
calling kstrtobool().

Fixes: 25c411fce735 ("sched: Add CONFIG_SCHED_PROXY_EXEC & boot argument
to enable/disable")
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: Codex:GPT-5
Signed-off-by: Joseph Salisbury <joseph.salisbury@xxxxxxxxxx>
---
kernel/sched/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 2dcba1d9696e..08a06162dd9a 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -132,7 +132,7 @@ static int __init setup_proxy_exec(char *str)
{
bool proxy_enable = true;

- if (*str && kstrtobool(str + 1, &proxy_enable)) {
+ if (*str && (*str != '=' || kstrtobool(str + 1, &proxy_enable))) {
pr_warn("Unable to parse sched_proxy_exec=\n");
return 0;
}
--
2.47.3