[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZtcrqPPEiX/L+2i6@debian>
Date: Tue, 3 Sep 2024 17:30:48 +0200
From: Guillaume Nault <gnault@...hat.com>
To: Ido Schimmel <idosch@...dia.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net, kuba@...nel.org,
pabeni@...hat.com, edumazet@...gle.com, dsahern@...nel.org
Subject: Re: [PATCH net-next] ipv4: Fix user space build failure due to
header change
On Tue, Sep 03, 2024 at 04:35:54PM +0300, Ido Schimmel wrote:
> RT_TOS() from include/uapi/linux/in_route.h is defined using
> IPTOS_TOS_MASK from include/uapi/linux/ip.h. This is problematic for
> files such as include/net/ip_fib.h that want to use RT_TOS() as without
> including both header files kernel compilation fails:
>
> In file included from ./include/net/ip_fib.h:25,
> from ./include/net/route.h:27,
> from ./include/net/lwtunnel.h:9,
> from net/core/dst.c:24:
> ./include/net/ip_fib.h: In function ‘fib_dscp_masked_match’:
> ./include/uapi/linux/in_route.h:31:32: error: ‘IPTOS_TOS_MASK’ undeclared (first use in this function)
> 31 | #define RT_TOS(tos) ((tos)&IPTOS_TOS_MASK)
> | ^~~~~~~~~~~~~~
> ./include/net/ip_fib.h:440:45: note: in expansion of macro ‘RT_TOS’
> 440 | return dscp == inet_dsfield_to_dscp(RT_TOS(fl4->flowi4_tos));
>
> Therefore, cited commit changed linux/in_route.h to include linux/ip.h.
> However, as reported by David, this breaks iproute2 compilation due
> overlapping definitions between linux/ip.h and
> /usr/include/netinet/ip.h:
>
> In file included from ../include/uapi/linux/in_route.h:5,
> from iproute.c:19:
> ../include/uapi/linux/ip.h:25:9: warning: "IPTOS_TOS" redefined
> 25 | #define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK)
> | ^~~~~~~~~
> In file included from iproute.c:17:
> /usr/include/netinet/ip.h:222:9: note: this is the location of the previous definition
> 222 | #define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK)
>
> Fix by changing include/net/ip_fib.h to include linux/ip.h. Note that
> usage of RT_TOS() should not spread further in the kernel due to recent
> work in this area.
Reviewed-by: Guillaume Nault <gnault@...hat.com>
Powered by blists - more mailing lists