Skip to content

Commit

Permalink
ipv6: Use correct data types for ICMPv6 type and code
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Brian Haley authored and David S. Miller committed Jun 23, 2009
1 parent 0cf08dc commit d5fdd6b
Show file tree
Hide file tree
Showing 20 changed files with 38 additions and 38 deletions.
6 changes: 3 additions & 3 deletions include/linux/icmpv6.h
Original file line number Diff line number Diff line change
Expand Up @@ -175,16 +175,16 @@ struct icmp6_filter {


extern void icmpv6_send(struct sk_buff *skb,
int type, int code,
u8 type, u8 code,
__u32 info,
struct net_device *dev);

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);
extern void icmpv6_cleanup(void);
extern void icmpv6_param_prob(struct sk_buff *skb,
int code, int pos);
u8 code, int pos);

struct flowi;
struct in6_addr;
Expand Down
2 changes: 1 addition & 1 deletion include/net/protocol.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ struct inet6_protocol

void (*err_handler)(struct sk_buff *skb,
struct inet6_skb_parm *opt,
int type, int code, int offset,
u8 type, u8 code, int offset,
__be32 info);

int (*gso_send_check)(struct sk_buff *skb);
Expand Down
2 changes: 1 addition & 1 deletion include/net/rawv6.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include <net/protocol.h>

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);

extern int rawv6_rcv(struct sock *sk,
Expand Down
2 changes: 1 addition & 1 deletion include/net/xfrm.h
Original file line number Diff line number Diff line change
Expand Up @@ -1274,7 +1274,7 @@ struct xfrm_tunnel {
struct xfrm6_tunnel {
int (*handler)(struct sk_buff *skb);
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;
int priority;
};
Expand Down
2 changes: 1 addition & 1 deletion net/dccp/ipv6.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
int type, int code, int offset, __be32 info)
u8 type, u8 code, int offset, __be32 info)
{
struct ipv6hdr *hdr = (struct ipv6hdr *)skb->data;
const struct dccp_hdr *dh = (struct dccp_hdr *)(skb->data + offset);
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/ah6.c
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb)
}

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 ipv6hdr *iph = (struct ipv6hdr*)skb->data;
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/esp6.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
int type, int code, int offset, __be32 info)
u8 type, u8 code, int offset, __be32 info)
{
struct net *net = dev_net(skb->dev);
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
Expand Down
12 changes: 6 additions & 6 deletions net/ipv6/icmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ static __inline__ void icmpv6_xmit_unlock(struct sock *sk)
/*
* 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);
kfree_skb(skb);
Expand Down Expand Up @@ -161,7 +161,7 @@ static int is_ineligible(struct sk_buff *skb)
/*
* 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 dst_entry *dst;
Expand Down Expand Up @@ -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
*/
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 *net = dev_net(skb->dev);
Expand Down Expand Up @@ -590,7 +590,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
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;
int inner_offset;
Expand Down Expand Up @@ -643,7 +643,7 @@ static int icmpv6_rcv(struct sk_buff *skb)
struct in6_addr *saddr, *daddr;
struct ipv6hdr *orig_hdr;
struct icmp6hdr *hdr;
int type;
u8 type;

if (!xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) {
struct sec_path *sp = skb_sec_path(skb);
Expand Down Expand Up @@ -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;

Expand Down
18 changes: 9 additions & 9 deletions net/ipv6/ip6_tunnel.c
Original file line number Diff line number Diff line change
Expand Up @@ -394,13 +394,13 @@ parse_tlv_tnl_enc_lim(struct sk_buff *skb, __u8 * raw)

static int
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 ip6_tnl *t;
int rel_msg = 0;
int rel_type = ICMPV6_DEST_UNREACH;
int rel_code = ICMPV6_ADDR_UNREACH;
u8 rel_type = ICMPV6_DEST_UNREACH;
u8 rel_code = ICMPV6_ADDR_UNREACH;
__u32 rel_info = 0;
__u16 len;
int err = -ENOENT;
Expand Down Expand Up @@ -488,11 +488,11 @@ ip6_tnl_err(struct sk_buff *skb, __u8 ipproto, struct inet6_skb_parm *opt,

static int
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_type = type;
int rel_code = code;
u8 rel_type = type;
u8 rel_code = code;
__u32 rel_info = ntohl(info);
int err;
struct sk_buff *skb2;
Expand Down Expand Up @@ -586,11 +586,11 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,

static int
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_type = type;
int rel_code = code;
u8 rel_type = type;
u8 rel_code = code;
__u32 rel_info = ntohl(info);
int err;

Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/ipcomp6.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
#include <linux/mutex.h>

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;
struct ipv6hdr *iph = (struct ipv6hdr*)skb->data;
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/mip6.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ static inline void *mip6_padn(__u8 *data, __u8 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);
}
Expand Down
4 changes: 2 additions & 2 deletions net/ipv6/raw.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ static int rawv6_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len)

static void rawv6_err(struct sock *sk, 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 inet_sock *inet = inet_sk(sk);
struct ipv6_pinfo *np = inet6_sk(sk);
Expand Down Expand Up @@ -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,
int type, int code, int inner_offset, __be32 info)
u8 type, u8 code, int inner_offset, __be32 info)
{
struct sock *sk;
int hash;
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/route.c
Original file line number Diff line number Diff line change
Expand Up @@ -1865,7 +1865,7 @@ int ipv6_route_ioctl(struct net *net, unsigned int cmd, void __user *arg)
* 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;
struct dst_entry *dst = skb_dst(skb);
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/tcp_ipv6.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
}

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;
const struct tcphdr *th = (struct tcphdr *)(skb->data+offset);
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/tunnel6.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ static int tunnel46_rcv(struct sk_buff *skb)
}

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;

Expand Down
6 changes: 3 additions & 3 deletions net/ipv6/udp.c
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk,
}

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 ipv6_pinfo *np;
Expand Down Expand Up @@ -346,8 +346,8 @@ void __udp6_lib_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
}

static __inline__ void udpv6_err(struct sk_buff *skb,
struct inet6_skb_parm *opt, int type,
int code, int offset, __be32 info )
struct inet6_skb_parm *opt, u8 type,
u8 code, int offset, __be32 info )
{
__udp6_lib_err(skb, opt, type, code, offset, info, &udp_table);
}
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/udp_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

extern int __udp6_lib_rcv(struct sk_buff *, struct udp_table *, int );
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);

Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/udplite.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ static int udplitev6_rcv(struct sk_buff *skb)

static void udplitev6_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)
{
__udp6_lib_err(skb, opt, type, code, offset, info, &udplite_table);
}
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/xfrm6_tunnel.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
int type, int code, int offset, __be32 info)
u8 type, u8 code, int offset, __be32 info)
{
/* xfrm6_tunnel native err handling */
switch (type) {
Expand Down
2 changes: 1 addition & 1 deletion net/sctp/ipv6.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ static struct notifier_block sctp_inet6addr_notifier = {

/* ICMP error handler. */
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 sock *sk;
Expand Down

0 comments on commit d5fdd6b

Please sign in to comment.