Messages in this thread Patch in this message | | | From | Gavin Li <> | Subject | [PATCH net-next v6 4/5] ip_tunnel: Preserve pointer const in ip_tunnel_info_opts | Date | Thu, 9 Mar 2023 15:47:17 +0200 |
| |
Change ip_tunnel_info_opts( ) from static function to macro to cast return value and preserve the const-ness of the pointer.
Signed-off-by: Gavin Li <gavinl@nvidia.com> --- include/net/ip_tunnels.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index fca357679816..3e5c102b841f 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h @@ -67,6 +67,12 @@ struct ip_tunnel_key { GENMASK((sizeof_field(struct ip_tunnel_info, \ options_len) * BITS_PER_BYTE) - 1, 0) +#define ip_tunnel_info_opts(info) \ + _Generic(info, \ + const typeof(*(info)) * : ((const void *)((info) + 1)),\ + default : ((void *)((info) + 1)) \ + ) + struct ip_tunnel_info { struct ip_tunnel_key key; #ifdef CONFIG_DST_CACHE @@ -485,11 +491,6 @@ static inline void iptunnel_xmit_stats(struct net_device *dev, int pkt_len) } } -static inline void *ip_tunnel_info_opts(struct ip_tunnel_info *info) -{ - return info + 1; -} - static inline void ip_tunnel_info_opts_get(void *to, const struct ip_tunnel_info *info) { -- 2.31.1
| |