Re: [PATCH] sched/mmcid: fix OOB clear_bit when CID is MM_CID_UNSET in fixup path

From: Mathieu Desnoyers

Date: Tue Jun 16 2026 - 15:38:54 EST


On 2026-06-16 12:09, Mathieu Desnoyers wrote:
On 2026-06-16 10:53, Rik van Riel wrote:
[...]

Did you try changing this to the following (completely untested) check instead:

  if (!cid_in_transit(cid) && !(cid & MM_CID_UNSET)) { ?

Note: "MM_CID_UNSET" is technically a flag (bit 31), but is always set
with a value store and used with an equality check, so you may prefer:

if (cid != MM_CID_UNSET && !cid_in_transit(cid)) {

Thanks,

Mathieu


Thanks,

Mathieu

                  cid = cid_to_transit_cid(cid);
                  rq->curr->mm_cid.cid = cid;
                  pcp->cid = cid;




--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com