On 10/15/2024 6:56 AM, Paolo Abeni wrote:
> The kernel test robot reported a build failure on m68k in the intel
> driver due to the recent shapers-related changes.
> 
> The mentioned arch has funny alignment properties, let's be explicit
> about the binary layout expectation introducing a padding field.
> 
> Fixes: 608a5c05c39b ("virtchnl: support queue rate limit and quanta size 
> configuration")
> Reported-by: kernel test robot <[email protected]>
> Closes: 
> https://lore.kernel.org/oe-kbuild-all/[email protected]/
> Signed-off-by: Paolo Abeni <[email protected]>
> ---
>  include/linux/avf/virtchnl.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/avf/virtchnl.h b/include/linux/avf/virtchnl.h
> index 223e433c39fe..13a11f3c09b8 100644
> --- a/include/linux/avf/virtchnl.h
> +++ b/include/linux/avf/virtchnl.h
> @@ -1499,6 +1499,7 @@ VIRTCHNL_CHECK_STRUCT_LEN(8, virtchnl_queue_chunk);
>  
>  struct virtchnl_quanta_cfg {
>       u16 quanta_size;
> +     u16 pad;
>       struct virtchnl_queue_chunk queue_select;

There's a hidden 2 byte padding because queue_select requires 4-byte
alignment. We assume this, as the VIRTCHNL_CHECK_STRUCT_LEN for this
structure is 12 bytes.

On mk68k, we must not be adding this padding, which results in a 10 byte
structure, failing the size check for VIRTCHNL_CHECK_STRUCT_LEN,
resulting in the compilation error?

Adding the explicit size aligns with the actual expected layout and size
for this structure, fixing mk68k without affecting the other architectures.

Ok.

Reviewed-by: Jacob Keller <[email protected]>

>  };
>  

Reply via email to