ipv4: Merge ip_local_out and ip_local_out_sk
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 7 Oct 2015 21:48:38 +0000 (16:48 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Oct 2015 11:26:57 +0000 (04:26 -0700)
It is confusing and silly hiding a parameter so modify all of
the callers to pass in the appropriate socket or skb->sk if
no socket is known.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipvlan/ipvlan_core.c
drivers/net/ppp/pptp.c
drivers/net/vrf.c
include/net/ip.h
net/ipv4/igmp.c
net/ipv4/ip_output.c
net/ipv4/ip_tunnel_core.c
net/ipv4/netfilter/ipt_SYNPROXY.c
net/ipv4/netfilter/nf_dup_ipv4.c
net/ipv4/netfilter/nf_reject_ipv4.c
net/netfilter/ipvs/ip_vs_xmit.c

index 207f62e8de9a93415cc76eb5fd75f987b3de53b6..c75ad39c752f245c19d4ff0a96ed8bcba0502f95 100644 (file)
@@ -364,7 +364,7 @@ static int ipvlan_process_v4_outbound(struct sk_buff *skb)
        }
        skb_dst_drop(skb);
        skb_dst_set(skb, &rt->dst);
-       err = ip_local_out(skb);
+       err = ip_local_out(skb->sk, skb);
        if (unlikely(net_xmit_eval(err)))
                dev->stats.tx_errors++;
        else
index 686f37daa262b180f5efed77152335e62364b4ef..6bef7be106719bd2e4232e95f1b49ff1754c6e2a 100644 (file)
@@ -282,7 +282,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
        ip_select_ident(sock_net(sk), skb, NULL);
        ip_send_check(iph);
 
-       ip_local_out(skb);
+       ip_local_out(skb->sk, skb);
        return 1;
 
 tx_error:
index 1039eb5f6c2abb88ccd45bfef8382ec545872b64..231f9d85d4eb6c886b7b307f8d796602e0576d08 100644 (file)
@@ -76,7 +76,7 @@ static struct dst_entry *vrf_ip_check(struct dst_entry *dst, u32 cookie)
 
 static int vrf_ip_local_out(struct sock *sk, struct sk_buff *skb)
 {
-       return ip_local_out_sk(sk, skb);
+       return ip_local_out(sk, skb);
 }
 
 static unsigned int vrf_v4_mtu(const struct dst_entry *dst)
@@ -222,7 +222,7 @@ static netdev_tx_t vrf_process_v4_outbound(struct sk_buff *skb,
                                               RT_SCOPE_LINK);
        }
 
-       ret = ip_local_out(skb);
+       ret = ip_local_out(skb->sk, skb);
        if (unlikely(net_xmit_eval(ret)))
                vrf_dev->stats.tx_errors++;
        else
index 46272e04f3b674175d5092954bdb12806f234634..03e80f9368474d5115ad68dd24326f4c86e5871c 100644 (file)
@@ -113,11 +113,7 @@ int ip_do_fragment(struct net *net, struct sock *sk, struct sk_buff *skb,
                   int (*output)(struct net *, struct sock *, struct sk_buff *));
 void ip_send_check(struct iphdr *ip);
 int __ip_local_out(struct sock *sk, struct sk_buff *skb);
-int ip_local_out_sk(struct sock *sk, struct sk_buff *skb);
-static inline int ip_local_out(struct sk_buff *skb)
-{
-       return ip_local_out_sk(skb->sk, skb);
-}
+int ip_local_out(struct sock *sk, struct sk_buff *skb);
 
 int ip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl);
 void ip_init(void);
index de6d4c8ba600edccd9f467b5fab9f1c00a6f7151..43375d9e02abce2f9059e4dfb2f8ed8d71f03b64 100644 (file)
@@ -397,7 +397,7 @@ static int igmpv3_sendpack(struct sk_buff *skb)
 
        pig->csum = ip_compute_csum(igmp_hdr(skb), igmplen);
 
-       return ip_local_out(skb);
+       return ip_local_out(skb->sk, skb);
 }
 
 static int grec_size(struct ip_mc_list *pmc, int type, int gdel, int sdel)
@@ -739,7 +739,7 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
        ih->group = group;
        ih->csum = ip_compute_csum((void *)ih, sizeof(struct igmphdr));
 
-       return ip_local_out(skb);
+       return ip_local_out(skb->sk, skb);
 }
 
 static void igmp_gq_timer_expire(unsigned long data)
index 66c627b85a91dcc5e49cba3714df5d795954f32f..10366ee03becc8823ba938d2767e259cdf704a68 100644 (file)
@@ -108,7 +108,7 @@ int __ip_local_out(struct sock *sk, struct sk_buff *skb)
                       dst_output);
 }
 
-int ip_local_out_sk(struct sock *sk, struct sk_buff *skb)
+int ip_local_out(struct sock *sk, struct sk_buff *skb)
 {
        struct net *net = dev_net(skb_dst(skb)->dev);
        int err;
@@ -119,7 +119,7 @@ int ip_local_out_sk(struct sock *sk, struct sk_buff *skb)
 
        return err;
 }
-EXPORT_SYMBOL_GPL(ip_local_out_sk);
+EXPORT_SYMBOL_GPL(ip_local_out);
 
 static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
 {
@@ -169,7 +169,7 @@ int ip_build_and_send_pkt(struct sk_buff *skb, const struct sock *sk,
        skb->mark = sk->sk_mark;
 
        /* Send it out. */
-       return ip_local_out(skb);
+       return ip_local_out(skb->sk, skb);
 }
 EXPORT_SYMBOL_GPL(ip_build_and_send_pkt);
 
@@ -456,7 +456,7 @@ packet_routed:
        skb->priority = sk->sk_priority;
        skb->mark = sk->sk_mark;
 
-       res = ip_local_out_sk(sk, skb);
+       res = ip_local_out(sk, skb);
        rcu_read_unlock();
        return res;
 
@@ -1436,7 +1436,7 @@ int ip_send_skb(struct net *net, struct sk_buff *skb)
 {
        int err;
 
-       err = ip_local_out(skb);
+       err = ip_local_out(skb->sk, skb);
        if (err) {
                if (err > 0)
                        err = net_xmit_errno(err);
index 84dce6a92f93bec35158b392477c536d6f2f1529..8d85ecd1ced5fee9af70a9293c5fd75d3606a268 100644 (file)
@@ -79,7 +79,7 @@ int iptunnel_xmit(struct sock *sk, struct rtable *rt, struct sk_buff *skb,
        __ip_select_ident(dev_net(rt->dst.dev), iph,
                          skb_shinfo(skb)->gso_segs ?: 1);
 
-       err = ip_local_out_sk(sk, skb);
+       err = ip_local_out(sk, skb);
        if (unlikely(net_xmit_eval(err)))
                pkt_len = 0;
        return pkt_len;
index 6a6e762ab27f18f9b5924c84895f60ea490da79e..473faf73b194e5eac22f9fcefc0097aa7726878d 100644 (file)
@@ -63,7 +63,7 @@ synproxy_send_tcp(const struct synproxy_net *snet,
                nf_conntrack_get(nfct);
        }
 
-       ip_local_out(nskb);
+       ip_local_out(nskb->sk, nskb);
        return;
 
 free_nskb:
index ce2a59e5c6659ab8dda663e89d63c703702efccb..0b9abfbf65770bcb6d58b2f73d22bbebeb98345e 100644 (file)
@@ -92,7 +92,7 @@ void nf_dup_ipv4(struct net *net, struct sk_buff *skb, unsigned int hooknum,
 
        if (nf_dup_ipv4_route(net, skb, gw, oif)) {
                __this_cpu_write(nf_skb_duplicated, true);
-               ip_local_out(skb);
+               ip_local_out(skb->sk, skb);
                __this_cpu_write(nf_skb_duplicated, false);
        } else {
                kfree_skb(skb);
index 2f5e925d3264c50e9bf1a54dbd2fbada25d16906..dcc125cb0441eb50940dbd2ddffea29f2b93ab2b 100644 (file)
@@ -157,7 +157,7 @@ void nf_send_reset(struct net *net, struct sk_buff *oldskb, int hook)
                dev_queue_xmit(nskb);
        } else
 #endif
-               ip_local_out(nskb);
+               ip_local_out(nskb->sk, nskb);
 
        return;
 
index 504d1fcf5454dbbaa41c66c35be38ccb9e83262a..d77503e635d8b45485042ef598be4769690a4ba1 100644 (file)
@@ -1049,7 +1049,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
 
        ret = ip_vs_tunnel_xmit_prepare(skb, cp);
        if (ret == NF_ACCEPT)
-               ip_local_out(skb);
+               ip_local_out(skb->sk, skb);
        else if (ret == NF_DROP)
                kfree_skb(skb);
        rcu_read_unlock();