Re: [PATCH net-next v2 5/9] ice: use structures to keep track of queue context size
From: Daniel Machon
Date: Tue Oct 29 2024 - 10:43:57 EST
> The ice Tx and Rx queue context are currently stored as arrays of bytes
> with defined size (ICE_RXQ_CTX_SZ and ICE_TXQ_CTX_SZ). The packed queue
> context is often passed to other functions as a simple u8 * pointer, which
> does not allow tracking the size. This makes the queue context API easy to
> misuse, as you can pass an arbitrary u8 array or pointer.
>
> Introduce wrapper typedefs which use a __packed structure that has the
> proper fixed size for the Tx and Rx context buffers. This enables the
> compiler to track the size of the value and ensures that passing the wrong
> buffer size will be detected by the compiler.
>
> The existing APIs do not benefit much from this change, however the
> wrapping structures will be used to simplify the arguments of new packing
> functions based on the recently introduced pack_fields API.
>
Reviewed-by: Daniel Machon <daniel.machon@xxxxxxxxxxxxx>