Re: [RFC PATCH net-next 04/10] ethtool: Add link extended state

From: Andrew Lunn
Date: Sun Jun 07 2020 - 12:03:10 EST


> @@ -108,6 +131,12 @@ static int linkstate_reply_size(const struct ethnl_req_info *req_base,
> if (data->sqi_max != -EOPNOTSUPP)
> len += nla_total_size(sizeof(u32));
>
> + if (data->ext_state_provided)
> + len += sizeof(u8); /* LINKSTATE_EXT_STATE */
> +
> + if (data->ethtool_ext_state_info.__ext_substate)
> + len += sizeof(u8); /* LINKSTATE_EXT_SUBSTATE */
> +

This looks wrong. A u8 attribute takes up a lot more space than
sizeof(u8) because of the TLV overheads. That is what the
nla_total_size() is for.

Andrew