Subject: Re: [linux-next20250912] Build warnings at drivers/net/ethernet/intel/idpf/xdp.c:6

From: Alexander Lobakin <[email-masked]>
Date: Fri, 12 Sep 2025 15:30:08 +0200

From: Venkat Rao Bagalkote <[email-masked]>
Date: Fri, 12 Sep 2025 18:39:33 +0530

> Greetings!!!
> 
> 
> IBM CI has reported a build warning on IBM Power Server, on linux-
> next20250912 kernel.
> 
> 
> gcc version 11.5.0 20240719 (Red Hat 11.5.0-2) (GCC)
> 
> GNU ld version 2.35.2-54.el9
> 
> 
> Attached is the .config file.
> 
> 
> Warnings:
> 
> In file included from drivers/net/ethernet/intel/idpf/xdp.c:6:
> drivers/net/ethernet/intel/idpf/xdp.h: In function ‘idpf_xdp_tx_xmit’:
> drivers/net/ethernet/intel/idpf/xdp.h:28:20: note: the ABI of passing
> aggregates with 16-byte alignment has changed in GCC 5
>    28 | static inline void idpf_xdp_tx_xmit(struct libeth_xdp_tx_desc
> desc, u32 i,
>       |                    ^~~~~~~~~~~~~~~~

Yes, I do pass 16-byte variables/structures directly.

I would say this warning makes no sense, due to the following reasons:

1. IIRC the minimum required GCC version for building the latest kernel
   is way above 5.
2. This warning should appear only with `-Wabi`, which the upstream
   kernel never sets.
3. Kernel is a self-contained project, this function is not uAPI, so we
   shouldn't care in general about backward ABI compatibility for purely
   in-kernel stuff.

We have plenty of functions, mostly generic, which either passes or
returns >= 16-byte objects, but I see this warning for the first time.
Despite that my repo is attached to the open Intel CI bots infra which
does daily builds on a good bunch of different architectures and
toolchains (inc. GCC 8+).

> 
> 
> Git bisect is pointing below commit as the first bad commit.
> 
> 
> first bad commit: [cba102cd719029a10bda1d0ca00ed646796f1f21] idpf: add
> support for XDP on Rx

Thanks,
Olek