Re: [PATCH v5 1/4] cxl/hdm: Reject switch decoder interleave ways that overflow targets
Li Ming <[email protected]>
| Newsgroups | org.kernel.vger.linux-cxl |
|---|---|
| Message-ID | <[email protected]> |
On 8/8/2026 8:05 AM, Alison Schofield wrote: > Switch decoder enumeration validates that the interleave ways encoding > is legal, but not that the resulting number of ways fits the available > targets. This can overrun the target array (target_list.target_id[]) > during enumeration of 12 or 16 way interleaves. > > Bound the target count where it is established rather than at each use. > Reject an HDM capability whose reported target count is zero or exceeds > the target list register capacity, and reject a zero target switch > decoder allocation in cxl_switch_decoder_init(). Enumeration is then > left with a single check: reject a decoder whose interleave ways exceed > the targets it has. > > Add a clarifying comment that target_count is a direct count, not > 0-based like decoder_count. > > Link: https://sashiko.dev/#/patchset/[email protected]?part=1 > Fixes: d17d0540a0db ("cxl/core/hdm: Add CXL standard decoder enumeration to the core") > Tested-by: Davidlohr Bueso <[email protected]> > Reviewed-by: Davidlohr Bueso <[email protected]> > Reviewed-by: Richard Cheng <[email protected]> > Signed-off-by: Alison Schofield <[email protected]> Reviewed-by: Li Ming <[email protected]>