[PATCH 21.11] net/af_xdp: squash deprecated-declaration warnings

Kevin Traynor ktraynor at redhat.com
Wed Apr 5 12:41:30 CEST 2023


On 05/04/2023 09:45, Kevin Traynor wrote:
> On 05/04/2023 08:39, David Marchand wrote:
>> On Tue, Apr 4, 2023 at 5:35 PM Kevin Traynor <ktraynor at redhat.com> wrote:
>>>
>>> Fedora 37 with versions libbpf-0.8.0-2.fc37.x86_64 and
>>> libxdp-1.2.6-1.fc37.x86_64 gives the following warnings [0].
>>>
>>> Squash these for a clean build on Fedora 37 and any other distros
>>> or systems using newer libbpf and libxdp versions.
>>>
>>> Discussed on mail list at:
>>> http://inbox.dpdk.org/dev/d718d0fe-09a2-8840-e8a4-dd41b732b391@redhat.com/
>>>
>>> [0]
>>> ../drivers/net/af_xdp/rte_eth_af_xdp.c:853:9:
>>> warning: ‘bpf_get_link_xdp_id’ is deprecated:
>>> libbpf v0.8+: use bpf_xdp_query_id() instead [-Wdeprecated-declarations]
>>> |      if (bpf_get_link_xdp_id(internals->if_index, &curr_prog_id,
>>> |      ^~
>>> In file included from /usr/include/xdp/xsk.h:17,
>>>                    from ../drivers/net/af_xdp/compat.h:6,
>>>                    from ../drivers/net/af_xdp/rte_eth_af_xdp.c:41:
>>> /usr/include/bpf/libbpf.h:1169:16: note: declared here
>>> | LIBBPF_API int bpf_get_link_xdp_id(int ifindex, __u32 *prog_id, __u32 flags);
>>> |                ^~~~~~~~~~~~~~~~~~~
>>> ../drivers/net/af_xdp/rte_eth_af_xdp.c:858:9:
>>> warning: ‘bpf_set_link_xdp_fd’ is deprecated:
>>> libbpf v0.8+: use bpf_xdp_attach() instead [-Wdeprecated-declarations]
>>> |         bpf_set_link_xdp_fd(internals->if_index, -1,
>>> |         ^~~~~~~~~~~~~~~~~~~
>>> /usr/include/bpf/libbpf.h:1164:16: note: declared here
>>> | LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags);
>>> |                ^~~~~~~~~~~~~~~~~~~
>>> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘load_custom_xdp_prog’:
>>> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1171:9:
>>> warning: ‘bpf_set_link_xdp_fd’ is deprecated:
>>> libbpf v0.8+: use bpf_xdp_attach() instead [-Wdeprecated-declarations]
>>> |         ret = bpf_set_link_xdp_fd(if_index, prog_fd,
>>> |         ^~~
>>> /usr/include/bpf/libbpf.h:1164:16: note: declared here
>>> | LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags);
>>> |                ^~~~~~~~~~~~~~~~~~~
>>>
>>> Cc: Ciara Loftus <ciara.loftus at intel.com>
>>> Cc: Qi Zhang <qi.z.zhang at intel.com>
>>> Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
>>> ---
>>>    drivers/net/af_xdp/rte_eth_af_xdp.c | 18 ++++++++++++++++++
>>>    1 file changed, 18 insertions(+)
>>>
>>> diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c
>>> index 9db76d4562..b04aa30325 100644
>>> --- a/drivers/net/af_xdp/rte_eth_af_xdp.c
>>> +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
>>> @@ -846,4 +846,10 @@ eth_stats_reset(struct rte_eth_dev *dev)
>>>    }
>>>
>>> +#pragma GCC diagnostic push
>>> +#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
>>> +#pragma GCC diagnostic ignored "-Wunknown-pragmas"
>>> +#pragma clang diagnostic push
>>> +#pragma clang diagnostic ignored "-Wdeprecated-declarations"
>>
>> clang recognises GCC pragmas, so this clang pragma is unneeded.
>> https://clang.llvm.org/docs/UsersManual.html#id34
>>
>> And I suspect disabling unknown-pragmas is unneeded once clang pragmas
>> are removed.
>>
>>
> 
> hmm, ok thanks, I will re-check. I saw the warning after applying the
> GCC one, but it was with test-meson-builds, so perhaps I confused with
> the ABI reference build.
> 

Yes, I confirmed it. The warnings I had seen with clang were for the ABI 
reference build and not the current build. I re-tested with just the gcc 
deprecated-declarations pragma and it is building without warnings on 
gcc and clang.

I will send a v2. Thanks David.

> Yes, unknown-pragmas could be removed if the clang pragma is unneeded.



More information about the stable mailing list