rustix
rustix copied to clipboard
speculative_feature_state should not return Ok(None)
The return type of speculative_feature_state is Result<Option<SpeculationFeatureState>>.
The return logic is
- error ->
Err(Errno) - success, value known by rustix ->
Ok(Some(SpeculationFeatureState)) - success, value not known by rustix ->
Ok(None)
The third cases isn't useful at all. We should either return the raw kernel answer, possibly inside SpeculationFeatureState, or treat this as an error. The only thing you know is that the operation was successful (known by the kernel and no permission error).
I presume this was meant to return the "not vulnerable" case. However this is indistinguishable from "new kernel value".