From 951fc9df9558ee5ae01cef7255b1a33078a7653c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 31 Dec 2003 20:28:44 -0800 Subject: [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(-) (limited to 'include/linux') diff --git a/include/linux/ip.h b/include/linux/ip.h index 1adc75a76926..ab799b48b485 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 da2e64899c95..7f5a5c4280f7 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 492b258c76c8..cecbccdc1835 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 -- cgit v1.2.3 From cdd56702d6800194618b7de0545157ed8ca0b229 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 5 Jan 2004 03:54:41 -0800 Subject: [NET]: In dev_kfree_skb_any() use dev_kfree_skb_irq() if irqs_disabled(). With help from Jeff Garzik and others. --- include/linux/netdevice.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index b4744f9e42b0..666d89f875f5 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -634,7 +634,7 @@ static inline void dev_kfree_skb_irq(struct sk_buff *skb) */ static inline void dev_kfree_skb_any(struct sk_buff *skb) { - if (in_irq()) + if (in_irq() || irqs_disabled()) dev_kfree_skb_irq(skb); else dev_kfree_skb(skb); -- cgit v1.2.3 From 53b78d22d516fa23f50f250cfaf6057f1824c6bc Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 5 Jan 2004 04:33:31 -0800 Subject: [NET]: Un-deprecate skb_linearize(), we can re-deprecate in 2.7.x --- include/linux/skbuff.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 77162e4c2819..b7b96854e23c 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -1132,7 +1132,7 @@ static inline struct sk_buff *skb_padto(struct sk_buff *skb, unsigned int len) * is returned and the old skb data released. */ extern int __skb_linearize(struct sk_buff *skb, int gfp); -static inline int __deprecated skb_linearize(struct sk_buff *skb, int gfp) +static inline int skb_linearize(struct sk_buff *skb, int gfp) { return __skb_linearize(skb, gfp); } -- cgit v1.2.3 From cd4eb2e9407321888234cceabd957d3168c724d9 Mon Sep 17 00:00:00 2001 From: James Morris Date: Tue, 6 Jan 2004 05:42:12 -0800 Subject: [NETFILTER]: Add SELINUX priority values for ipv4/ipv6, approved by Harald Welte. --- include/linux/netfilter_ipv4.h | 2 ++ include/linux/netfilter_ipv6.h | 2 ++ 2 files changed, 4 insertions(+) (limited to 'include/linux') diff --git a/include/linux/netfilter_ipv4.h b/include/linux/netfilter_ipv4.h index 336c47be6837..8744f0c57fb6 100644 --- a/include/linux/netfilter_ipv4.h +++ b/include/linux/netfilter_ipv4.h @@ -51,6 +51,7 @@ enum nf_ip_hook_priorities { NF_IP_PRI_FIRST = INT_MIN, + NF_IP_PRI_SELINUX_FIRST = -225, NF_IP_PRI_CONNTRACK = -200, NF_IP_PRI_BRIDGE_SABOTAGE_FORWARD = -175, NF_IP_PRI_MANGLE = -150, @@ -58,6 +59,7 @@ enum nf_ip_hook_priorities { NF_IP_PRI_BRIDGE_SABOTAGE_LOCAL_OUT = -50, NF_IP_PRI_FILTER = 0, NF_IP_PRI_NAT_SRC = 100, + NF_IP_PRI_SELINUX_LAST = 225, NF_IP_PRI_LAST = INT_MAX, }; diff --git a/include/linux/netfilter_ipv6.h b/include/linux/netfilter_ipv6.h index f6da04e49207..ad7d8a4e0d55 100644 --- a/include/linux/netfilter_ipv6.h +++ b/include/linux/netfilter_ipv6.h @@ -56,11 +56,13 @@ enum nf_ip6_hook_priorities { NF_IP6_PRI_FIRST = INT_MIN, + NF_IP6_PRI_SELINUX_FIRST = -225, NF_IP6_PRI_CONNTRACK = -200, NF_IP6_PRI_MANGLE = -150, NF_IP6_PRI_NAT_DST = -100, NF_IP6_PRI_FILTER = 0, NF_IP6_PRI_NAT_SRC = 100, + NF_IP6_PRI_SELINUX_LAST = 225, NF_IP6_PRI_LAST = INT_MAX, }; -- cgit v1.2.3