Re: [PATCH RFC 14/20] attestation: Add the base family specification and generated files
From: Jason Gunthorpe
Date: Wed Nov 04 2026 - 13:38:39 EST
On Fri, Oct 30, 2026 at 04:05:13PM +0100, Jiri Pirko wrote:
> Mon, Oct 26, 2026 at 03:07:54PM +0100, jgg@xxxxxxxxxx wrote:
>
> [..]
>
> >> +
> >> +/* attrs of group cap */
> >> +#define _CTLV_ATTESTATION_ATTR_CAP(_attr) \
> >> + _CTLV_ATTESTATION_ATTR(CTLV_ATTESTATION_GROUP_CAP, _CTLV_ATTESTATION_ATTR_CAP_##_attr)
> >> +
> >> +enum _ctlv_attestation_attr_cap {
> >> + _CTLV_ATTESTATION_ATTR_CAP_EVIDENCE = 1,
> >> + _CTLV_ATTESTATION_ATTR_CAP_MR,
> >> + _CTLV_ATTESTATION_ATTR_CAP_MIN_CHALLENGE_LENGTH,
> >> + _CTLV_ATTESTATION_ATTR_CAP_MAX_CHALLENGE_LENGTH,
> >> + _CTLV_ATTESTATION_ATTR_CAP_MAX_TOTAL_OUTPUT_LENGTH,
> >> + _CTLV_ATTESTATION_ATTR_CAP_MR_FLAGS,
> >> + _CTLV_ATTESTATION_ATTR_CAP_OBJECT,
> >> + _CTLV_ATTESTATION_ATTR_CAP_BLOB_CLASS,
> >> + _CTLV_ATTESTATION_ATTR_CAP_FORMAT,
> >> + _CTLV_ATTESTATION_ATTR_CAP_REPRESENTATION,
> >> + _CTLV_ATTESTATION_ATTR_CAP_MAX_LENGTH,
> >> +};
> >> +
> >> +#define CTLV_ATTESTATION_ATTR_CAP_EVIDENCE _CTLV_ATTESTATION_ATTR_CAP(EVIDENCE)
> >
> >I feel like there are too many layers here for a code generator..
> >
> >enum ctvl_attestation_attributes {
> > CTLV_ATTESTATION_ATTR_CAP_EVIDENCE = CTLV_ATTR(CTLV_FAMILY_ATTESTATION, 2, 1),
> >}
> >
> >Do the intermediate constants add anything?
>
> True. I originally had it like you suggest, I changed to enums to avoid
> the explicit numbers. But you are right, does not add anything.
> Changed back.
I was also thinking that having the explicit numbers makes it more
robust if someone does backport. We should try to have everything
explicitly numbered in these generated files to prevent subtle errors
like that.
Jason