Re: [PATCH] Drivers: hv: Use -ETIMEDOUT for HV_STATUS_TIME_OUT instead of -EIO

From: Easwar Hariharan
Date: Thu Oct 02 2025 - 18:30:35 EST


On 10/2/2025 3:13 PM, Easwar Hariharan wrote:
> Use the -ETIMEDOUT errno value as the correct 1:1 match for the
> hypervisor timeout status
>
> Fixes: 3817854ba89201 ("hyperv: Log hypercall status codes as strings")
> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/hv/hv_common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
> index 49898d10fafff..9b51b67d54cc8 100644
> --- a/drivers/hv/hv_common.c
> +++ b/drivers/hv/hv_common.c
> @@ -781,7 +781,7 @@ static const struct hv_status_info hv_status_infos[] = {
> _STATUS_INFO(HV_STATUS_INVALID_LP_INDEX, -EIO),
> _STATUS_INFO(HV_STATUS_INVALID_REGISTER_VALUE, -EIO),
> _STATUS_INFO(HV_STATUS_OPERATION_FAILED, -EIO),
> - _STATUS_INFO(HV_STATUS_TIME_OUT, -EIO),
> + _STATUS_INFO(HV_STATUS_TIME_OUT, -ETIMEDOUT),
> _STATUS_INFO(HV_STATUS_CALL_PENDING, -EIO),
> _STATUS_INFO(HV_STATUS_VTL_ALREADY_ENABLED, -EIO),
> #undef _STATUS_INFO

Actually looking at the whole struct, it may be useful to also change at least some of
the following codes?

_STATUS_INFO(HV_STATUS_INVALID_ALIGNMENT, -EIO), -> EINVAL
_STATUS_INFO(HV_STATUS_ACCESS_DENIED, -EIO), -> EACCES
_STATUS_INFO(HV_STATUS_INVALID_PARTITION_STATE, -EIO), -> EINVAL
_STATUS_INFO(HV_STATUS_OPERATION_DENIED, -EIO), -> EACCES
_STATUS_INFO(HV_STATUS_PROPERTY_VALUE_OUT_OF_RANGE, -EIO), -> ERANGE
_STATUS_INFO(HV_STATUS_INSUFFICIENT_BUFFERS, -EIO), -> ENOBUFS
_STATUS_INFO(HV_STATUS_NOT_ACKNOWLEDGED, -EIO), -> EBUSY
_STATUS_INFO(HV_STATUS_INVALID_VP_STATE, -EIO), -> EINVAL
_STATUS_INFO(HV_STATUS_INVALID_LP_INDEX, -EIO), -> EINVAL
_STATUS_INFO(HV_STATUS_INVALID_REGISTER_VALUE, -EIO), -> EINVAL
_STATUS_INFO(HV_STATUS_VTL_ALREADY_ENABLED, -EIO), -> EBUSY

Nuno, Stas, others, what do you think?

Thanks,
Easwar (he/him)