Re: [net-next v3 1/6] net: dcb: add new pcp selector to app object
From: Petr Machata
Date: Wed Oct 26 2022 - 10:55:28 EST
<Daniel.Machon@xxxxxxxxxxxxx> writes:
>> I'm missing a validation that DCB_APP_SEL_PCP is always sent in
>> DCB_ATTR_DCB_APP encapsulation. Wouldn't the current code permit
>> sending it in the IEEE encap? This should be forbidden.
>
> Right. Current impl. does not check that the non-std selectors received, are
> sent with a DCB_ATTR_DCB_APP type. We could introduce a new check
> dcbnl_app_attr_selector_validate() that checks combination of type and
> selector, after the type and nla_len(attr) has been checked, so that:
>
> validate type -> validate nla_len(attr) -> validate selector
This needs to be validated, otherwise there's no point in having a
dedicated attribute for the non-standard stuff.
>> And vice versa: I'm not sure we want to permit sending the standard
>> attributes in the DCB encap.
>
> dcbnl_app_attr_type_get() in dcbnl_ieee_fill() takes care of this. IEEE are
> always sent in DCB_ATTR_IEEE and non-std are sent in DCB_ATTR_DCB.
By "sending" I meant userspace sending this to the kernel. So bounce
extended opcodes that are wrapped in IEEE and bounce IEEE opcodes
wrapped in DCB as well.