net: Abstract default ADVMSS behind an accessor.
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / net / decnet / af_decnet.c
index 9ecef9968c3940026deefba772fa568af7237bcc..2af15b15d1fa564a89caa1d1c9d95709d58a6d3a 100644 (file)
@@ -829,7 +829,7 @@ static int dn_confirm_accept(struct sock *sk, long *timeo, gfp_t allocation)
                return -EINVAL;
 
        scp->state = DN_CC;
-       scp->segsize_loc = dst_metric(__sk_dst_get(sk), RTAX_ADVMSS);
+       scp->segsize_loc = dst_metric_advmss(__sk_dst_get(sk));
        dn_send_conn_conf(sk, allocation);
 
        prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
@@ -958,7 +958,7 @@ static int __dn_connect(struct sock *sk, struct sockaddr_dn *addr, int addrlen,
        sk->sk_route_caps = sk->sk_dst_cache->dev->features;
        sock->state = SS_CONNECTING;
        scp->state = DN_CI;
-       scp->segsize_loc = dst_metric(sk->sk_dst_cache, RTAX_ADVMSS);
+       scp->segsize_loc = dst_metric_advmss(sk->sk_dst_cache);
 
        dn_nsp_send_conninit(sk, NSP_CI);
        err = -EINPROGRESS;
@@ -1556,6 +1556,8 @@ static int __dn_getsockopt(struct socket *sock, int level,int optname, char __us
                        if (r_len > sizeof(struct linkinfo_dn))
                                r_len = sizeof(struct linkinfo_dn);
 
+                       memset(&link, 0, sizeof(link));
+
                        switch(sock->state) {
                                case SS_CONNECTING:
                                        link.idn_linkstate = LL_CONNECTING;