[IPV4]: ip_route_input() annotations
ip_route_input() takes net-endian source and destination address. * Annotated as such. * arguments of its invocations annotated where needed. * local helpers getting the same values passed to by it (ip_route_input_mc(), ip_route_input_slow(), ip_handle_martian_source(), ip_mkroute_input(), ip_mkroute_input_def(), __mkroute_input()) annotated Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
046d033148
commit
9e12bb22e3
|
@ -116,7 +116,7 @@ extern void rt_cache_flush(int how);
|
|||
extern int __ip_route_output_key(struct rtable **, const struct flowi *flp);
|
||||
extern int ip_route_output_key(struct rtable **, struct flowi *flp);
|
||||
extern int ip_route_output_flow(struct rtable **rp, struct flowi *flp, struct sock *sk, int flags);
|
||||
extern int ip_route_input(struct sk_buff*, u32 dst, u32 src, u8 tos, struct net_device *devin);
|
||||
extern int ip_route_input(struct sk_buff*, __be32 dst, __be32 src, u8 tos, struct net_device *devin);
|
||||
extern unsigned short ip_rt_frag_needed(struct iphdr *iph, unsigned short new_mtu);
|
||||
extern void ip_rt_send_redirect(struct sk_buff *skb);
|
||||
|
||||
|
|
|
@ -710,7 +710,7 @@ static int arp_process(struct sk_buff *skb)
|
|||
unsigned char *arp_ptr;
|
||||
struct rtable *rt;
|
||||
unsigned char *sha, *tha;
|
||||
u32 sip, tip;
|
||||
__be32 sip, tip;
|
||||
u16 dev_type = dev->type;
|
||||
int addr_type;
|
||||
struct neighbour *n;
|
||||
|
|
|
@ -607,7 +607,7 @@ int ip_options_rcv_srr(struct sk_buff *skb)
|
|||
{
|
||||
struct ip_options *opt = &(IPCB(skb)->opt);
|
||||
int srrspace, srrptr;
|
||||
u32 nexthop;
|
||||
__be32 nexthop;
|
||||
struct iphdr *iph = skb->nh.iph;
|
||||
unsigned char * optptr = skb->nh.raw + opt->srr;
|
||||
struct rtable *rt = (struct rtable*)skb->dst;
|
||||
|
|
|
@ -1596,7 +1596,7 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
|
|||
rt->rt_type = res->type;
|
||||
}
|
||||
|
||||
static int ip_route_input_mc(struct sk_buff *skb, u32 daddr, u32 saddr,
|
||||
static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
u8 tos, struct net_device *dev, int our)
|
||||
{
|
||||
unsigned hash;
|
||||
|
@ -1681,8 +1681,8 @@ e_inval:
|
|||
static void ip_handle_martian_source(struct net_device *dev,
|
||||
struct in_device *in_dev,
|
||||
struct sk_buff *skb,
|
||||
u32 daddr,
|
||||
u32 saddr)
|
||||
__be32 daddr,
|
||||
__be32 saddr)
|
||||
{
|
||||
RT_CACHE_STAT_INC(in_martian_src);
|
||||
#ifdef CONFIG_IP_ROUTE_VERBOSE
|
||||
|
@ -1712,7 +1712,7 @@ static void ip_handle_martian_source(struct net_device *dev,
|
|||
static inline int __mkroute_input(struct sk_buff *skb,
|
||||
struct fib_result* res,
|
||||
struct in_device *in_dev,
|
||||
u32 daddr, u32 saddr, u32 tos,
|
||||
__be32 daddr, __be32 saddr, u32 tos,
|
||||
struct rtable **result)
|
||||
{
|
||||
|
||||
|
@ -1813,7 +1813,7 @@ static inline int ip_mkroute_input_def(struct sk_buff *skb,
|
|||
struct fib_result* res,
|
||||
const struct flowi *fl,
|
||||
struct in_device *in_dev,
|
||||
u32 daddr, u32 saddr, u32 tos)
|
||||
__be32 daddr, __be32 saddr, u32 tos)
|
||||
{
|
||||
struct rtable* rth = NULL;
|
||||
int err;
|
||||
|
@ -1838,7 +1838,7 @@ static inline int ip_mkroute_input(struct sk_buff *skb,
|
|||
struct fib_result* res,
|
||||
const struct flowi *fl,
|
||||
struct in_device *in_dev,
|
||||
u32 daddr, u32 saddr, u32 tos)
|
||||
__be32 daddr, __be32 saddr, u32 tos)
|
||||
{
|
||||
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
|
||||
struct rtable* rth = NULL, *rtres;
|
||||
|
@ -1901,7 +1901,7 @@ static inline int ip_mkroute_input(struct sk_buff *skb,
|
|||
* 2. IP spoofing attempts are filtered with 100% of guarantee.
|
||||
*/
|
||||
|
||||
static int ip_route_input_slow(struct sk_buff *skb, u32 daddr, u32 saddr,
|
||||
static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
u8 tos, struct net_device *dev)
|
||||
{
|
||||
struct fib_result res;
|
||||
|
@ -1920,7 +1920,7 @@ static int ip_route_input_slow(struct sk_buff *skb, u32 daddr, u32 saddr,
|
|||
u32 itag = 0;
|
||||
struct rtable * rth;
|
||||
unsigned hash;
|
||||
u32 spec_dst;
|
||||
__be32 spec_dst;
|
||||
int err = -EINVAL;
|
||||
int free_res = 0;
|
||||
|
||||
|
@ -2087,7 +2087,7 @@ martian_source:
|
|||
goto e_inval;
|
||||
}
|
||||
|
||||
int ip_route_input(struct sk_buff *skb, u32 daddr, u32 saddr,
|
||||
int ip_route_input(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
u8 tos, struct net_device *dev)
|
||||
{
|
||||
struct rtable * rth;
|
||||
|
@ -2740,7 +2740,9 @@ int inet_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr* nlh, void *arg)
|
|||
struct rtmsg *rtm;
|
||||
struct nlattr *tb[RTA_MAX+1];
|
||||
struct rtable *rt = NULL;
|
||||
u32 dst, src, iif;
|
||||
__be32 dst = 0;
|
||||
__be32 src = 0;
|
||||
u32 iif;
|
||||
int err;
|
||||
struct sk_buff *skb;
|
||||
|
||||
|
|
Loading…
Reference in New Issue