diff options
Diffstat (limited to 'net/decnet/af_decnet.c')
-rw-r--r-- | net/decnet/af_decnet.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index d6b93d19790f..2af15b15d1fa 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c | |||
@@ -155,7 +155,7 @@ static const struct proto_ops dn_proto_ops; | |||
155 | static DEFINE_RWLOCK(dn_hash_lock); | 155 | static DEFINE_RWLOCK(dn_hash_lock); |
156 | static struct hlist_head dn_sk_hash[DN_SK_HASH_SIZE]; | 156 | static struct hlist_head dn_sk_hash[DN_SK_HASH_SIZE]; |
157 | static struct hlist_head dn_wild_sk; | 157 | static struct hlist_head dn_wild_sk; |
158 | static atomic_t decnet_memory_allocated; | 158 | static atomic_long_t decnet_memory_allocated; |
159 | 159 | ||
160 | static int __dn_setsockopt(struct socket *sock, int level, int optname, char __user *optval, unsigned int optlen, int flags); | 160 | static int __dn_setsockopt(struct socket *sock, int level, int optname, char __user *optval, unsigned int optlen, int flags); |
161 | static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags); | 161 | static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags); |
@@ -829,7 +829,7 @@ static int dn_confirm_accept(struct sock *sk, long *timeo, gfp_t allocation) | |||
829 | return -EINVAL; | 829 | return -EINVAL; |
830 | 830 | ||
831 | scp->state = DN_CC; | 831 | scp->state = DN_CC; |
832 | scp->segsize_loc = dst_metric(__sk_dst_get(sk), RTAX_ADVMSS); | 832 | scp->segsize_loc = dst_metric_advmss(__sk_dst_get(sk)); |
833 | dn_send_conn_conf(sk, allocation); | 833 | dn_send_conn_conf(sk, allocation); |
834 | 834 | ||
835 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); | 835 | 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, | |||
958 | sk->sk_route_caps = sk->sk_dst_cache->dev->features; | 958 | sk->sk_route_caps = sk->sk_dst_cache->dev->features; |
959 | sock->state = SS_CONNECTING; | 959 | sock->state = SS_CONNECTING; |
960 | scp->state = DN_CI; | 960 | scp->state = DN_CI; |
961 | scp->segsize_loc = dst_metric(sk->sk_dst_cache, RTAX_ADVMSS); | 961 | scp->segsize_loc = dst_metric_advmss(sk->sk_dst_cache); |
962 | 962 | ||
963 | dn_nsp_send_conninit(sk, NSP_CI); | 963 | dn_nsp_send_conninit(sk, NSP_CI); |
964 | err = -EINPROGRESS; | 964 | err = -EINPROGRESS; |
@@ -1556,6 +1556,8 @@ static int __dn_getsockopt(struct socket *sock, int level,int optname, char __us | |||
1556 | if (r_len > sizeof(struct linkinfo_dn)) | 1556 | if (r_len > sizeof(struct linkinfo_dn)) |
1557 | r_len = sizeof(struct linkinfo_dn); | 1557 | r_len = sizeof(struct linkinfo_dn); |
1558 | 1558 | ||
1559 | memset(&link, 0, sizeof(link)); | ||
1560 | |||
1559 | switch(sock->state) { | 1561 | switch(sock->state) { |
1560 | case SS_CONNECTING: | 1562 | case SS_CONNECTING: |
1561 | link.idn_linkstate = LL_CONNECTING; | 1563 | link.idn_linkstate = LL_CONNECTING; |
@@ -1848,7 +1850,7 @@ unsigned dn_mss_from_pmtu(struct net_device *dev, int mtu) | |||
1848 | { | 1850 | { |
1849 | unsigned mss = 230 - DN_MAX_NSP_DATA_HEADER; | 1851 | unsigned mss = 230 - DN_MAX_NSP_DATA_HEADER; |
1850 | if (dev) { | 1852 | if (dev) { |
1851 | struct dn_dev *dn_db = dev->dn_ptr; | 1853 | struct dn_dev *dn_db = rcu_dereference_raw(dev->dn_ptr); |
1852 | mtu -= LL_RESERVED_SPACE(dev); | 1854 | mtu -= LL_RESERVED_SPACE(dev); |
1853 | if (dn_db->use_long) | 1855 | if (dn_db->use_long) |
1854 | mtu -= 21; | 1856 | mtu -= 21; |