From nobody Thu Apr 9 15:46:39 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DAB7233B6CE for ; Fri, 6 Mar 2026 22:59:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.165.32 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772837987; cv=none; b=ZMjd8xMNX1WgJXmI5JOuDabRz6txUCz8hzVLpE22+omw0Ja6LpJkg7ARhd4GVO+J24abDPI5w/v5xBcVWjAa250Fe9fvnHaTxE0bp2Qs4ZbRVj56vzydz53nCU1KWjfc11aaOBih8V61VS0FWpp6RYvU/fh3HugUs0Ckq6g3AUk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772837987; c=relaxed/simple; bh=9JUld8jOwpuc5vHPexT5tra2urygmQLuT5yRuh6lfVU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=pKJW1tatnJk9gd65+RgRT3H2cA/wvOV7ZcHguCTI5FpqmDAv/9DXUz95pzl8KfQrDrpYqC2z4pJ0gimH0TKajs8KF9vl4SH72rvjlN2Kh7DFqUEQZJVGLxtNMZt9fgx6dfTAfsPRSkSkxo/LNyv4lAHsSXFcMkK7maKXupYv4qg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=jVFiLKz8; arc=none smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="jVFiLKz8" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 626MWWD63552783; Fri, 6 Mar 2026 22:59:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=corp-2025-04-25; bh=0R8IM24ilDYu0p0DdnMuo2QlOm26u RQs1MC7xPp2No4=; b=jVFiLKz8WS0epjGdgCoK99d6sPQX830Wkf4UlRgKSnam0 9FsSUccBTfgDYiT2VVNMBb05HpRLGCly7zNjM9cLO/ypUJVTX4JiPeipDQVZa6e+ tQAGQBVSaJVMKn9GUgYIve9xg/MtOuc99Re2eppQdax6Gtrcbrs6FMJ8QGaIfrow We4eQckeWqVXuWF2YMtqt8gCVNLOseZuCAWMFYnDTk10qfO+GIqegoH5cej+cGP3 Gd/VF+o0vzJcq+TyFbiq9Be4yqs5nmUbTmCr9900mjVeFrO/4QhhH0jJgPj8vZ7k qsn7tRHiDA8OupYk9LtiII+EivhdRJH1efOd42HqQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4cr7t5g0pj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 06 Mar 2026 22:59:11 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 626KHTRG001511; Fri, 6 Mar 2026 22:59:10 GMT Received: from ca-dev112.us.oracle.com (ca-dev112.us.oracle.com [10.129.136.47]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 4ckptkkk29-1; Fri, 06 Mar 2026 22:59:10 +0000 From: Joseph Salisbury To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot Cc: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , linux-kernel@vger.kernel.org Subject: [PATCH] sched/isolation: avoid reading past string in isolcpus parser Date: Fri, 6 Mar 2026 14:59:08 -0800 Message-ID: <20260306225908.2913977-1-joseph.salisbury@oracle.com> X-Mailer: git-send-email 2.50.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-06_06,2026-03-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2602130000 definitions=main-2603060217 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA2MDIxNiBTYWx0ZWRfXwdg18KHyMHnS 6wFYcbWX/vKmr4y/Iva1PzTO8RiCCqcWJg0flEah8O3zR493f3RpdbISpoFgtzb5iSxWvbnwwhr cIuAkZ+xbHXIU37G+Yqx9cgE6uyfGdPYXLS4FTmqBcpKmpbOEpv3TW0u0GCdM/hjkR8kogDP0Ds ifZqx/5xGVaPrLOowwQ6OPDhjqlS2KgjiSRwNSO0ZiXX1i5CZ1RLk00vWKX57XgD97o4BfmiSrQ 41FFad53vBN5d2Lk/cecpynXmhe/382q4ttvk0JpdUOVczwq6rvFBn6I8Dw5Pv12+FQwf4c2ozx UviJnRCZiM/FVxhsnJLv50rLDqkbtnu5vmxv8seVWrNxIOfwngEb8dwI8CPDz4//HKH686Mvc2w 2Mb+zPU83pS9lLvumouz0NqlOqY0R6m3WPOVGer67DIEKccX53I8OriB/9WY1BVRZ8hWq/D2VUP tVpqwuKdgHP1WUYAvfvV6yJrHnrGMdR8U1B/yqlw= X-Proofpoint-GUID: cvweRt6mzf7o0Y3UNAPR9Wct7xaDUL0l X-Authority-Analysis: v=2.4 cv=TP1Iilla c=1 sm=1 tr=0 ts=69ab5c3f b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22 a=jiCTI4zE5U7BLdzWsZGv:22 a=7Gl3-_t3PgB9XO-mQDs3:22 a=VwQbUJbxAAAA:8 a=yPCof4ZbAAAA:8 a=lb4dxyujnE2FsC3ZQ1cA:9 cc=ntf awl=host:13812 X-Proofpoint-ORIG-GUID: cvweRt6mzf7o0Y3UNAPR9Wct7xaDUL0l Content-Type: text/plain; charset="utf-8" The function housekeeping_isolcpus_setup() advanced the parser pointer unconditionally after unknown flags. For an argument like 'isolcpus=3Dunknownflag', with no trailing comma, this= can move the pointer past the terminating NUL, and the next loop test reads out of bounds. Advance only when the current character is a comma separator, preserving existing parsing semantics while avoiding the invalid read. Fixes: 3662daf02350 ("sched/isolation: Allow "isolcpus=3D" to skip unknown = sub-parameters") Cc: stable@vger.kernel.org Assisted-by: Codex:GPT-5.3 Signed-off-by: Joseph Salisbury --- kernel/sched/isolation.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c index ef152d401fe2..4cf253fb6d75 100644 --- a/kernel/sched/isolation.c +++ b/kernel/sched/isolation.c @@ -355,7 +355,8 @@ static int __init housekeeping_isolcpus_setup(char *str) } =20 pr_info("isolcpus: Skipped unknown flag %.*s\n", len, par); - str++; + if (*str =3D=3D ',') + str++; } =20 /* Default behaviour for isolcpus without flags */ --=20 2.47.3