All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Andrea Righi" <arighi@nvidia.com>
Cc: sched-ext@lists.linux.dev
Subject: Re: [PATCH v2 sched_ext/for-7.4] sched_ext: cid: Represent clusters explicitly
Date: Sat, 26 Sep 2026 21:34:37 +0000	[thread overview]
Message-ID: <20260926213437.5FAC91F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260926212017.3351797-1-arighi@nvidia.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Critical] bpf: scx_bpf_cid_topo UAPI break due to struct scx_cid_topo size change
--

commit fb59a730e3e34d8a0c1fda134fb4459d8183c802
Author: Andrea Righi <arighi@nvidia.com>

sched_ext: cid: Represent clusters explicitly

This commit adds explicit cluster representation to the sched_ext CID
topology. It modifies the cid calculation logic and updates
struct scx_cid_topo to include cluster_cid and cluster_idx.

Link: https://lore.kernel.org/r/20260926152306.3190774-1-arighi@nvidia.com

> diff --git a/kernel/sched/ext/types.h b/kernel/sched/ext/types.h
> index 943d8d429a2c9..765d7b9208144 100644
> --- a/kernel/sched/ext/types.h
> +++ b/kernel/sched/ext/types.h

[ ... ]

> @@ -88,6 +95,8 @@ struct scx_cid_topo {
>  	s32 node_idx;
>  	s32 shard_cid;
>  	s32 shard_idx;
> +	s32 cluster_cid;
> +	s32 cluster_idx;
>  };

[Severity: Critical]
Will adding cluster_cid and cluster_idx break existing BPF schedulers that
call scx_bpf_cid_topo()?

By increasing the size of struct scx_cid_topo from 32 to 40 bytes, the
expected argument size for the kfunc changes. Since scx_bpf_cid_topo()
lacks a size-aware __sz parameter or compatibility wrapper:

kernel/sched/ext/cid.c:scx_bpf_cid_topo() {
    ...
    *out__uninit = topo[cid];
}

Could the BPF verifier strictly reject older BPF schedulers passing a
32-byte allocation because out__uninit demands the current kernel's BTF size?

Furthermore, if the check were somehow bypassed, would the assignment cause
an 8-byte out-of-bounds write into BPF stack or map memory?

Does this constitute a hard ABI break for existing userspace binaries since
they lack a deprecation path or versioning wrapper?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260926212017.3351797-1-arighi@nvidia.com?part=1

  reply	other threads:[~2026-09-26 21:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-26 21:20 [PATCH v2 sched_ext/for-7.4] sched_ext: cid: Represent clusters explicitly Andrea Righi
2026-09-26 21:34 ` sashiko-bot [this message]
2026-09-26 21:59   ` Andrea Righi
2026-09-26 23:27 ` Tejun Heo
2026-09-27  6:12   ` Andrea Righi

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=20260926213437.5FAC91F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=arighi@nvidia.com \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=sched-ext@lists.linux.dev \
    /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.