From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8661536BCEB for ; Tue, 17 Feb 2026 20:08:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771358922; cv=none; b=er2CrwIWyoBa8/9Nk+TYHeeg5s5j+/Gsqhiwm5VTuWf489eT3UuxZtuPp/7BggxQcbZPqeW49VBbclI4XDSSsWJKhb/ZXFD0gFHqfzQ97V3yj7iHxu77BRBioDZ7vHrypzxgul7oNJR6F5teBz+0yo8n2mAbP6lfUpA9baRGCn0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771358922; c=relaxed/simple; bh=ho3z/uAtUG4lnVCJullaroaeHkZgPdI4oTkEMiQDQeA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Kq3tFwDJKf8szMVqrbmW35t+WfQb/IG9dtWzOwYkYSU6wJB8Wd0FoiQzNoz+k9f4pMfEAu+G6Xbm9tmqOKBIgiutDqLnEYGsDVx5Y+N7LnecWb8eYjwaJGnrEIpnOyR1eVSz1TK6M2OO74IY0L16YOYh7xfnWjQMBVwdzwlgc8k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EOUFJiN/; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EOUFJiN/" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4833115090dso41566985e9.3 for ; Tue, 17 Feb 2026 12:08:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771358920; x=1771963720; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0pZgdq6xY5P2i1tZDnNPfwEzsDDG5NFPoHRiD9aZjwU=; b=EOUFJiN/B4nBfb8DMbbdg7UJ92l7EE+bJOsdQ89XjN7tHqOnrQ8w/7jTfadjHYEbH/ 4Plrj30W1kYVv4TGenv99Ix/eTzZB3gd13yTQVoRoG411ZUt4YZAnzgv262saCxfQT6h C7wV7IfwwPSAT5ANo3yB3e9nrGDd7HtPa82gOnozE/uY9sqsE4RM9xrAppza3m3UUUCq gzm6jsOytZZHXqp1cyu7At4ZDIc7xsugFR8lT4mdjt1XTyLxd7FY73aUlQu0TMtDYrHm xGGLSU+Ncrcx9kCzg6uVl9K+sb+MbDtm35qiisqBmfOARSRa17BnftznFG0JZu12gZiD OmXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771358920; x=1771963720; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0pZgdq6xY5P2i1tZDnNPfwEzsDDG5NFPoHRiD9aZjwU=; b=ICYIaizARBvzkqudawjIQDZRZXVi/rxxQ4K/fP3ZecZjmUdCXNobRJfJSy5ikjLkCk MKLYu+D0Dlgf+sOwFRpJBJhCEqiTvkFgUmvMrK5QHIlaBwYdu9D7KE5umSrow8kbrwOt hwq6GCEtu4gavTjNFLKS/dOAMcsl8KemzBJ0FB3BWAemtEHLQ2rAw/vJuuV7owntvMOA D3PTsAcVcigb7m9a391bjTKr5FMvyfn0447LQTd/BWad/YeYxXgn7Sf2hNiquQRLd+8L rDgP/XvjodIE+5a8AF7uC3LTIX2xdkxZL1wNfB9T7BGcOovkKDoL8qAmhz/9fqZXZ8tv HPlg== X-Gm-Message-State: AOJu0Yyj6pzLp0C1wC3mmH7oFqw3FYdEd4X9oyFDtHuJjkoEoJLpT3EK FEtNPZTaDM1NOMWZgAYwDkm7Q39mot7Lb8vWVjFYlz6SQqQmsVajvQuXGNI392hm X-Gm-Gg: AZuq6aIGo22OegdPuGxrL6KlF0S88+cSoAPoG/Yo6lFyD6DEFMtMHpGN/k19sQqUctm jrlFiE9naUAvBNeKbs6WHwuG5D15cFdBzj1qofX81WQ9mtf17zHrv8MNYNbH+mQmgWB4XW6B8Rb atmRMxpCEF0duqFVHeUgOydE/dQ+114C8b172IWNlI2fVFJaD86NaCQ8XHyCvBXJmC53Y8jVVuF WkQIdsGm2wI4d1zhcF8KrRiSpqQ3jCCclZ0NHXgHltecwsaI7Ar3Ut3v6Wz42fSr6lZc+dPWO8Y 06B0LrKIENFI0BuVVFizgTAcBA0NJxa051vrCmfYguf24tifSS7hh30HIFSe4dDMPz0gL0j5cNA 8EooUnKUCBNmeOwWpsEYlOis0ijdZJKGC01uOtJ7SYTzDMnCiLaPbVQrkOmqUkotVLfPuAVpSIn mX7g5XOc7k8APggGXVZiT9oKts3EZRH9mxU/vRk1JQB/+VLdXZjH7fTWz9q4OsBjbc1qVYck37J 2NFzedTL+CqtY0F3/N4 X-Received: by 2002:a05:600c:4e92:b0:480:1c53:208b with SMTP id 5b1f17b1804b1-48373a7bbf2mr245642095e9.36.1771358919842; Tue, 17 Feb 2026 12:08:39 -0800 (PST) Received: from rozandragon.chello.ie (188-141-5-72.dynamic.upc.ie. [188.141.5.72]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43796abe3b3sm42614105f8f.18.2026.02.17.12.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Feb 2026 12:08:39 -0800 (PST) From: David Carlier To: Tejun Heo , David Vernet Cc: linux-kernel@vger.kernel.org, David Carlier Subject: [PATCH] tools/sched_ext: scx_pair: fix stride == 0 crash on single-CPU systems Date: Tue, 17 Feb 2026 20:08:36 +0000 Message-ID: <20260217200836.89785-1-devnexen@gmail.com> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit nr_cpu_ids / 2 produces stride 0 on a single-CPU system, which later causes SCX_BUG_ON(i == j) to fire. Validate stride after option parsing to also catch invalid user-supplied values via -S. Signed-off-by: David Carlier --- tools/sched_ext/scx_pair.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/sched_ext/scx_pair.c b/tools/sched_ext/scx_pair.c index d3e97faa6334..2a82d8a8a0aa 100644 --- a/tools/sched_ext/scx_pair.c +++ b/tools/sched_ext/scx_pair.c @@ -56,7 +56,6 @@ int main(int argc, char **argv) skel = SCX_OPS_OPEN(pair_ops, scx_pair); skel->rodata->nr_cpu_ids = libbpf_num_possible_cpus(); - assert(skel->rodata->nr_cpu_ids > 0); skel->rodata->pair_batch_dur_ns = __COMPAT_ENUM_OR_ZERO("scx_public_consts", "SCX_SLICE_DFL"); /* pair up the earlier half to the latter by default, override with -s */ @@ -76,6 +75,12 @@ int main(int argc, char **argv) } } + /* Stride must be positive to pair distinct CPUs. */ + if (stride <= 0) { + fprintf(stderr, "Invalid stride %d, must be positive\n", stride); + scx_pair__destroy(skel); + return -1; + } bpf_map__set_max_entries(skel->maps.pair_ctx, skel->rodata->nr_cpu_ids / 2); /* Resize arrays so their element count is equal to cpu count. */ -- 2.51.0