mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
ipv6: Use correct data types for ICMPv6 type and code
Change all the code that deals directly with ICMPv6 type and code values to use u8 instead of a signed int as that's the actual data type. Signed-off-by: Brian Haley <brian.haley@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0cf08dcb78
commit
d5fdd6babc
20 changed files with 38 additions and 38 deletions
|
@ -175,16 +175,16 @@ struct icmp6_filter {
|
||||||
|
|
||||||
|
|
||||||
extern void icmpv6_send(struct sk_buff *skb,
|
extern void icmpv6_send(struct sk_buff *skb,
|
||||||
int type, int code,
|
u8 type, u8 code,
|
||||||
__u32 info,
|
__u32 info,
|
||||||
struct net_device *dev);
|
struct net_device *dev);
|
||||||
|
|
||||||
extern int icmpv6_init(void);
|
extern int icmpv6_init(void);
|
||||||
extern int icmpv6_err_convert(int type, int code,
|
extern int icmpv6_err_convert(u8 type, u8 code,
|
||||||
int *err);
|
int *err);
|
||||||
extern void icmpv6_cleanup(void);
|
extern void icmpv6_cleanup(void);
|
||||||
extern void icmpv6_param_prob(struct sk_buff *skb,
|
extern void icmpv6_param_prob(struct sk_buff *skb,
|
||||||
int code, int pos);
|
u8 code, int pos);
|
||||||
|
|
||||||
struct flowi;
|
struct flowi;
|
||||||
struct in6_addr;
|
struct in6_addr;
|
||||||
|
|
|
@ -53,7 +53,7 @@ struct inet6_protocol
|
||||||
|
|
||||||
void (*err_handler)(struct sk_buff *skb,
|
void (*err_handler)(struct sk_buff *skb,
|
||||||
struct inet6_skb_parm *opt,
|
struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset,
|
u8 type, u8 code, int offset,
|
||||||
__be32 info);
|
__be32 info);
|
||||||
|
|
||||||
int (*gso_send_check)(struct sk_buff *skb);
|
int (*gso_send_check)(struct sk_buff *skb);
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include <net/protocol.h>
|
#include <net/protocol.h>
|
||||||
|
|
||||||
void raw6_icmp_error(struct sk_buff *, int nexthdr,
|
void raw6_icmp_error(struct sk_buff *, int nexthdr,
|
||||||
int type, int code, int inner_offset, __be32);
|
u8 type, u8 code, int inner_offset, __be32);
|
||||||
int raw6_local_deliver(struct sk_buff *, int);
|
int raw6_local_deliver(struct sk_buff *, int);
|
||||||
|
|
||||||
extern int rawv6_rcv(struct sock *sk,
|
extern int rawv6_rcv(struct sock *sk,
|
||||||
|
|
|
@ -1274,7 +1274,7 @@ struct xfrm_tunnel {
|
||||||
struct xfrm6_tunnel {
|
struct xfrm6_tunnel {
|
||||||
int (*handler)(struct sk_buff *skb);
|
int (*handler)(struct sk_buff *skb);
|
||||||
int (*err_handler)(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
int (*err_handler)(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info);
|
u8 type, u8 code, int offset, __be32 info);
|
||||||
struct xfrm6_tunnel *next;
|
struct xfrm6_tunnel *next;
|
||||||
int priority;
|
int priority;
|
||||||
};
|
};
|
||||||
|
|
|
@ -85,7 +85,7 @@ static inline __u32 dccp_v6_init_sequence(struct sk_buff *skb)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dccp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
static void dccp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct ipv6hdr *hdr = (struct ipv6hdr *)skb->data;
|
struct ipv6hdr *hdr = (struct ipv6hdr *)skb->data;
|
||||||
const struct dccp_hdr *dh = (struct dccp_hdr *)(skb->data + offset);
|
const struct dccp_hdr *dh = (struct dccp_hdr *)(skb->data + offset);
|
||||||
|
|
|
@ -405,7 +405,7 @@ out:
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ah6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
static void ah6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct net *net = dev_net(skb->dev);
|
struct net *net = dev_net(skb->dev);
|
||||||
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
|
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
|
||||||
|
|
|
@ -354,7 +354,7 @@ static u32 esp6_get_mtu(struct xfrm_state *x, int mtu)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct net *net = dev_net(skb->dev);
|
struct net *net = dev_net(skb->dev);
|
||||||
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
|
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
|
||||||
|
|
|
@ -117,7 +117,7 @@ static __inline__ void icmpv6_xmit_unlock(struct sock *sk)
|
||||||
/*
|
/*
|
||||||
* Slightly more convenient version of icmpv6_send.
|
* Slightly more convenient version of icmpv6_send.
|
||||||
*/
|
*/
|
||||||
void icmpv6_param_prob(struct sk_buff *skb, int code, int pos)
|
void icmpv6_param_prob(struct sk_buff *skb, u8 code, int pos)
|
||||||
{
|
{
|
||||||
icmpv6_send(skb, ICMPV6_PARAMPROB, code, pos, skb->dev);
|
icmpv6_send(skb, ICMPV6_PARAMPROB, code, pos, skb->dev);
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
|
@ -161,7 +161,7 @@ static int is_ineligible(struct sk_buff *skb)
|
||||||
/*
|
/*
|
||||||
* Check the ICMP output rate limit
|
* Check the ICMP output rate limit
|
||||||
*/
|
*/
|
||||||
static inline int icmpv6_xrlim_allow(struct sock *sk, int type,
|
static inline int icmpv6_xrlim_allow(struct sock *sk, u8 type,
|
||||||
struct flowi *fl)
|
struct flowi *fl)
|
||||||
{
|
{
|
||||||
struct dst_entry *dst;
|
struct dst_entry *dst;
|
||||||
|
@ -305,7 +305,7 @@ static inline void mip6_addr_swap(struct sk_buff *skb) {}
|
||||||
/*
|
/*
|
||||||
* Send an ICMP message in response to a packet in error
|
* Send an ICMP message in response to a packet in error
|
||||||
*/
|
*/
|
||||||
void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
|
void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
|
||||||
struct net_device *dev)
|
struct net_device *dev)
|
||||||
{
|
{
|
||||||
struct net *net = dev_net(skb->dev);
|
struct net *net = dev_net(skb->dev);
|
||||||
|
@ -590,7 +590,7 @@ out:
|
||||||
icmpv6_xmit_unlock(sk);
|
icmpv6_xmit_unlock(sk);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void icmpv6_notify(struct sk_buff *skb, int type, int code, __be32 info)
|
static void icmpv6_notify(struct sk_buff *skb, u8 type, u8 code, __be32 info)
|
||||||
{
|
{
|
||||||
struct inet6_protocol *ipprot;
|
struct inet6_protocol *ipprot;
|
||||||
int inner_offset;
|
int inner_offset;
|
||||||
|
@ -643,7 +643,7 @@ static int icmpv6_rcv(struct sk_buff *skb)
|
||||||
struct in6_addr *saddr, *daddr;
|
struct in6_addr *saddr, *daddr;
|
||||||
struct ipv6hdr *orig_hdr;
|
struct ipv6hdr *orig_hdr;
|
||||||
struct icmp6hdr *hdr;
|
struct icmp6hdr *hdr;
|
||||||
int type;
|
u8 type;
|
||||||
|
|
||||||
if (!xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) {
|
if (!xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) {
|
||||||
struct sec_path *sp = skb_sec_path(skb);
|
struct sec_path *sp = skb_sec_path(skb);
|
||||||
|
@ -914,7 +914,7 @@ static const struct icmp6_err {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
int icmpv6_err_convert(int type, int code, int *err)
|
int icmpv6_err_convert(u8 type, u8 code, int *err)
|
||||||
{
|
{
|
||||||
int fatal = 0;
|
int fatal = 0;
|
||||||
|
|
||||||
|
|
|
@ -394,13 +394,13 @@ parse_tlv_tnl_enc_lim(struct sk_buff *skb, __u8 * raw)
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ip6_tnl_err(struct sk_buff *skb, __u8 ipproto, struct inet6_skb_parm *opt,
|
ip6_tnl_err(struct sk_buff *skb, __u8 ipproto, struct inet6_skb_parm *opt,
|
||||||
int *type, int *code, int *msg, __u32 *info, int offset)
|
u8 *type, u8 *code, int *msg, __u32 *info, int offset)
|
||||||
{
|
{
|
||||||
struct ipv6hdr *ipv6h = (struct ipv6hdr *) skb->data;
|
struct ipv6hdr *ipv6h = (struct ipv6hdr *) skb->data;
|
||||||
struct ip6_tnl *t;
|
struct ip6_tnl *t;
|
||||||
int rel_msg = 0;
|
int rel_msg = 0;
|
||||||
int rel_type = ICMPV6_DEST_UNREACH;
|
u8 rel_type = ICMPV6_DEST_UNREACH;
|
||||||
int rel_code = ICMPV6_ADDR_UNREACH;
|
u8 rel_code = ICMPV6_ADDR_UNREACH;
|
||||||
__u32 rel_info = 0;
|
__u32 rel_info = 0;
|
||||||
__u16 len;
|
__u16 len;
|
||||||
int err = -ENOENT;
|
int err = -ENOENT;
|
||||||
|
@ -488,11 +488,11 @@ out:
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
int rel_msg = 0;
|
int rel_msg = 0;
|
||||||
int rel_type = type;
|
u8 rel_type = type;
|
||||||
int rel_code = code;
|
u8 rel_code = code;
|
||||||
__u32 rel_info = ntohl(info);
|
__u32 rel_info = ntohl(info);
|
||||||
int err;
|
int err;
|
||||||
struct sk_buff *skb2;
|
struct sk_buff *skb2;
|
||||||
|
@ -586,11 +586,11 @@ out:
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ip6ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
ip6ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
int rel_msg = 0;
|
int rel_msg = 0;
|
||||||
int rel_type = type;
|
u8 rel_type = type;
|
||||||
int rel_code = code;
|
u8 rel_code = code;
|
||||||
__u32 rel_info = ntohl(info);
|
__u32 rel_info = ntohl(info);
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
|
|
||||||
static void ipcomp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
static void ipcomp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
__be32 spi;
|
__be32 spi;
|
||||||
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
|
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
|
||||||
|
|
|
@ -54,7 +54,7 @@ static inline void *mip6_padn(__u8 *data, __u8 padlen)
|
||||||
return data + padlen;
|
return data + padlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void mip6_param_prob(struct sk_buff *skb, int code, int pos)
|
static inline void mip6_param_prob(struct sk_buff *skb, u8 code, int pos)
|
||||||
{
|
{
|
||||||
icmpv6_send(skb, ICMPV6_PARAMPROB, code, pos, skb->dev);
|
icmpv6_send(skb, ICMPV6_PARAMPROB, code, pos, skb->dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -310,7 +310,7 @@ out:
|
||||||
|
|
||||||
static void rawv6_err(struct sock *sk, struct sk_buff *skb,
|
static void rawv6_err(struct sock *sk, struct sk_buff *skb,
|
||||||
struct inet6_skb_parm *opt,
|
struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct inet_sock *inet = inet_sk(sk);
|
struct inet_sock *inet = inet_sk(sk);
|
||||||
struct ipv6_pinfo *np = inet6_sk(sk);
|
struct ipv6_pinfo *np = inet6_sk(sk);
|
||||||
|
@ -343,7 +343,7 @@ static void rawv6_err(struct sock *sk, struct sk_buff *skb,
|
||||||
}
|
}
|
||||||
|
|
||||||
void raw6_icmp_error(struct sk_buff *skb, int nexthdr,
|
void raw6_icmp_error(struct sk_buff *skb, int nexthdr,
|
||||||
int type, int code, int inner_offset, __be32 info)
|
u8 type, u8 code, int inner_offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct sock *sk;
|
struct sock *sk;
|
||||||
int hash;
|
int hash;
|
||||||
|
|
|
@ -1865,7 +1865,7 @@ int ipv6_route_ioctl(struct net *net, unsigned int cmd, void __user *arg)
|
||||||
* Drop the packet on the floor
|
* Drop the packet on the floor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int ip6_pkt_drop(struct sk_buff *skb, int code, int ipstats_mib_noroutes)
|
static int ip6_pkt_drop(struct sk_buff *skb, u8 code, int ipstats_mib_noroutes)
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
struct dst_entry *dst = skb_dst(skb);
|
struct dst_entry *dst = skb_dst(skb);
|
||||||
|
|
|
@ -317,7 +317,7 @@ failure:
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct ipv6hdr *hdr = (struct ipv6hdr*)skb->data;
|
struct ipv6hdr *hdr = (struct ipv6hdr*)skb->data;
|
||||||
const struct tcphdr *th = (struct tcphdr *)(skb->data+offset);
|
const struct tcphdr *th = (struct tcphdr *)(skb->data+offset);
|
||||||
|
|
|
@ -124,7 +124,7 @@ drop:
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tunnel6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
static void tunnel6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct xfrm6_tunnel *handler;
|
struct xfrm6_tunnel *handler;
|
||||||
|
|
||||||
|
|
|
@ -312,7 +312,7 @@ csum_copy_err:
|
||||||
}
|
}
|
||||||
|
|
||||||
void __udp6_lib_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
void __udp6_lib_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info,
|
u8 type, u8 code, int offset, __be32 info,
|
||||||
struct udp_table *udptable)
|
struct udp_table *udptable)
|
||||||
{
|
{
|
||||||
struct ipv6_pinfo *np;
|
struct ipv6_pinfo *np;
|
||||||
|
@ -346,8 +346,8 @@ out:
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline__ void udpv6_err(struct sk_buff *skb,
|
static __inline__ void udpv6_err(struct sk_buff *skb,
|
||||||
struct inet6_skb_parm *opt, int type,
|
struct inet6_skb_parm *opt, u8 type,
|
||||||
int code, int offset, __be32 info )
|
u8 code, int offset, __be32 info )
|
||||||
{
|
{
|
||||||
__udp6_lib_err(skb, opt, type, code, offset, info, &udp_table);
|
__udp6_lib_err(skb, opt, type, code, offset, info, &udp_table);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
extern int __udp6_lib_rcv(struct sk_buff *, struct udp_table *, int );
|
extern int __udp6_lib_rcv(struct sk_buff *, struct udp_table *, int );
|
||||||
extern void __udp6_lib_err(struct sk_buff *, struct inet6_skb_parm *,
|
extern void __udp6_lib_err(struct sk_buff *, struct inet6_skb_parm *,
|
||||||
int , int , int , __be32 , struct udp_table *);
|
u8 , u8 , int , __be32 , struct udp_table *);
|
||||||
|
|
||||||
extern int udp_v6_get_port(struct sock *sk, unsigned short snum);
|
extern int udp_v6_get_port(struct sock *sk, unsigned short snum);
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ static int udplitev6_rcv(struct sk_buff *skb)
|
||||||
|
|
||||||
static void udplitev6_err(struct sk_buff *skb,
|
static void udplitev6_err(struct sk_buff *skb,
|
||||||
struct inet6_skb_parm *opt,
|
struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
__udp6_lib_err(skb, opt, type, code, offset, info, &udplite_table);
|
__udp6_lib_err(skb, opt, type, code, offset, info, &udplite_table);
|
||||||
}
|
}
|
||||||
|
|
|
@ -262,7 +262,7 @@ static int xfrm6_tunnel_rcv(struct sk_buff *skb)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int xfrm6_tunnel_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
static int xfrm6_tunnel_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
/* xfrm6_tunnel native err handling */
|
/* xfrm6_tunnel native err handling */
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
|
|
@ -133,7 +133,7 @@ static struct notifier_block sctp_inet6addr_notifier = {
|
||||||
|
|
||||||
/* ICMP error handler. */
|
/* ICMP error handler. */
|
||||||
SCTP_STATIC void sctp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
SCTP_STATIC void sctp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
||||||
int type, int code, int offset, __be32 info)
|
u8 type, u8 code, int offset, __be32 info)
|
||||||
{
|
{
|
||||||
struct inet6_dev *idev;
|
struct inet6_dev *idev;
|
||||||
struct sock *sk;
|
struct sock *sk;
|
||||||
|
|
Loading…
Reference in a new issue