From 951fc9df9558ee5ae01cef7255b1a33078a7653c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 31 Dec 2003 20:28:44 -0800 Subject: [PATCH] [NET]: Do type checking in {udp,inet6,raw6,inet}_sk(). --- include/linux/ip.h | 5 ++++- include/linux/ipv6.h | 11 +++++++++-- include/linux/udp.h | 5 ++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/include/linux/ip.h b/include/linux/ip.h index 1adc75a76926a..ab799b48b4851 100644 --- a/include/linux/ip.h +++ b/include/linux/ip.h @@ -159,7 +159,10 @@ struct inet_sock { struct inet_opt inet; }; -#define inet_sk(__sk) (&((struct inet_sock *)__sk)->inet) +static inline struct inet_opt * inet_sk(const struct sock *__sk) +{ + return &((struct inet_sock *)__sk)->inet; +} #endif diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index da2e64899c957..7f5a5c4280f75 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -270,8 +270,15 @@ struct tcp6_sock { struct ipv6_pinfo inet6; }; -#define inet6_sk(__sk) ((struct raw6_sock *)__sk)->pinet6 -#define raw6_sk(__sk) (&((struct raw6_sock *)__sk)->raw6) +static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk) +{ + return ((struct raw6_sock *)__sk)->pinet6; +} + +static inline struct raw6_opt * raw6_sk(const struct sock *__sk) +{ + return &((struct raw6_sock *)__sk)->raw6; +} #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #define __ipv6_only_sock(sk) (inet6_sk(sk)->ipv6only) diff --git a/include/linux/udp.h b/include/linux/udp.h index 492b258c76c84..cecbccdc1835d 100644 --- a/include/linux/udp.h +++ b/include/linux/udp.h @@ -60,7 +60,10 @@ struct udp_sock { struct udp_opt udp; }; -#define udp_sk(__sk) (&((struct udp_sock *)__sk)->udp) +static inline struct udp_opt * udp_sk(const struct sock *__sk) +{ + return &((struct udp_sock *)__sk)->udp; +} #endif -- 2.53.0