pub fn parse_cpu_list(s: &str) -> Vec<u32>
Parse a kernel CPU list like 0-3 plus 5 into ids. Ranges clamp to the CPU bound before the walk, so a faulty list never loops the full u32 range. Ids past the bound never seed.