tcp: fix retrans_out leaks
[safe/jmp/linux-2.6] / net / ipv4 / route.c
index f47b9db..97f7115 100644 (file)
@@ -160,7 +160,6 @@ static struct dst_ops ipv4_dst_ops = {
        .link_failure =         ipv4_link_failure,
        .update_pmtu =          ip_rt_update_pmtu,
        .local_out =            __ip_local_out,
-       .entry_size =           sizeof(struct rtable),
        .entries =              ATOMIC_INIT(0),
 };
 
@@ -430,7 +429,7 @@ static void *rt_cpu_seq_start(struct seq_file *seq, loff_t *pos)
        if (*pos == 0)
                return SEQ_START_TOKEN;
 
-       for (cpu = *pos-1; cpu < NR_CPUS; ++cpu) {
+       for (cpu = *pos-1; cpu < nr_cpu_ids; ++cpu) {
                if (!cpu_possible(cpu))
                        continue;
                *pos = cpu+1;
@@ -443,7 +442,7 @@ static void *rt_cpu_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
        int cpu;
 
-       for (cpu = *pos; cpu < NR_CPUS; ++cpu) {
+       for (cpu = *pos; cpu < nr_cpu_ids; ++cpu) {
                if (!cpu_possible(cpu))
                        continue;
                *pos = cpu+1;
@@ -2701,7 +2700,6 @@ static struct dst_ops ipv4_dst_blackhole_ops = {
        .destroy                =       ipv4_dst_destroy,
        .check                  =       ipv4_dst_check,
        .update_pmtu            =       ipv4_rt_blackhole_update_pmtu,
-       .entry_size             =       sizeof(struct rtable),
        .entries                =       ATOMIC_INIT(0),
 };
 
@@ -2763,7 +2761,7 @@ int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp,
                        flp->fl4_src = (*rp)->rt_src;
                if (!flp->fl4_dst)
                        flp->fl4_dst = (*rp)->rt_dst;
-               err = __xfrm_lookup((struct dst_entry **)rp, flp, sk,
+               err = __xfrm_lookup(net, (struct dst_entry **)rp, flp, sk,
                                    flags ? XFRM_LOOKUP_WAIT : 0);
                if (err == -EREMOTE)
                        err = ipv4_dst_blackhole(net, rp, flp);
@@ -3118,7 +3116,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ipv4_dst_ops.gc_thresh,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_MAX_SIZE,
@@ -3126,7 +3124,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_max_size,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                /*  Deprecated. Use gc_min_interval_ms */
@@ -3136,8 +3134,8 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_gc_min_interval,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec_jiffies,
-               .strategy       = &sysctl_jiffies,
+               .proc_handler   = proc_dointvec_jiffies,
+               .strategy       = sysctl_jiffies,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS,
@@ -3145,8 +3143,8 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_gc_min_interval,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec_ms_jiffies,
-               .strategy       = &sysctl_ms_jiffies,
+               .proc_handler   = proc_dointvec_ms_jiffies,
+               .strategy       = sysctl_ms_jiffies,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_GC_TIMEOUT,
@@ -3154,8 +3152,8 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_gc_timeout,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec_jiffies,
-               .strategy       = &sysctl_jiffies,
+               .proc_handler   = proc_dointvec_jiffies,
+               .strategy       = sysctl_jiffies,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_GC_INTERVAL,
@@ -3163,8 +3161,8 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_gc_interval,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec_jiffies,
-               .strategy       = &sysctl_jiffies,
+               .proc_handler   = proc_dointvec_jiffies,
+               .strategy       = sysctl_jiffies,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_REDIRECT_LOAD,
@@ -3172,7 +3170,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_redirect_load,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_REDIRECT_NUMBER,
@@ -3180,7 +3178,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_redirect_number,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_REDIRECT_SILENCE,
@@ -3188,7 +3186,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_redirect_silence,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_ERROR_COST,
@@ -3196,7 +3194,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_error_cost,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_ERROR_BURST,
@@ -3204,7 +3202,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_error_burst,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_GC_ELASTICITY,
@@ -3212,7 +3210,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_gc_elasticity,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_MTU_EXPIRES,
@@ -3220,8 +3218,8 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_mtu_expires,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec_jiffies,
-               .strategy       = &sysctl_jiffies,
+               .proc_handler   = proc_dointvec_jiffies,
+               .strategy       = sysctl_jiffies,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_MIN_PMTU,
@@ -3229,7 +3227,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_min_pmtu,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_MIN_ADVMSS,
@@ -3237,7 +3235,7 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_min_advmss,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
+               .proc_handler   = proc_dointvec,
        },
        {
                .ctl_name       = NET_IPV4_ROUTE_SECRET_INTERVAL,
@@ -3245,8 +3243,8 @@ static ctl_table ipv4_route_table[] = {
                .data           = &ip_rt_secret_interval,
                .maxlen         = sizeof(int),
                .mode           = 0644,
-               .proc_handler   = &ipv4_sysctl_rt_secret_interval,
-               .strategy       = &ipv4_sysctl_rt_secret_interval_strategy,
+               .proc_handler   = ipv4_sysctl_rt_secret_interval,
+               .strategy       = ipv4_sysctl_rt_secret_interval_strategy,
        },
        { .ctl_name = 0 }
 };
@@ -3274,8 +3272,8 @@ static struct ctl_table ipv4_route_flush_table[] = {
                .procname       = "flush",
                .maxlen         = sizeof(int),
                .mode           = 0200,
-               .proc_handler   = &ipv4_sysctl_rtcache_flush,
-               .strategy       = &ipv4_sysctl_rtcache_flush_strategy,
+               .proc_handler   = ipv4_sysctl_rtcache_flush,
+               .strategy       = ipv4_sysctl_rtcache_flush_strategy,
        },
        { .ctl_name = 0 },
 };