aboutsummaryrefslogtreecommitdiffstats
path: root/net/atm
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2019-11-05 14:11:52 -0800
committerDavid S. Miller <davem@davemloft.net>2019-11-06 16:14:48 -0800
commit7976a11b30929871a4c84c3c406d7681a3dbcc10 (patch)
treebdbef4ca196215ba83037b47bbcc5820e614e3e9 /net/atm
parentnet: avoid potential false sharing in neighbor related code (diff)
downloadlinux-dev-7976a11b30929871a4c84c3c406d7681a3dbcc10.tar.xz
linux-dev-7976a11b30929871a4c84c3c406d7681a3dbcc10.zip
net: use helpers to change sk_ack_backlog
Writers are holding a lock, but many readers do not. Following patch will add appropriate barriers in sk_acceptq_removed() and sk_acceptq_added(). Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/atm')
-rw-r--r--net/atm/signaling.c2
-rw-r--r--net/atm/svc.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/net/atm/signaling.c b/net/atm/signaling.c
index 6c11cdf4dd4c..fbd0c5e7b299 100644
--- a/net/atm/signaling.c
+++ b/net/atm/signaling.c
@@ -109,7 +109,7 @@ static int sigd_send(struct atm_vcc *vcc, struct sk_buff *skb)
dev_kfree_skb(skb);
goto as_indicate_complete;
}
- sk->sk_ack_backlog++;
+ sk_acceptq_added(sk);
skb_queue_tail(&sk->sk_receive_queue, skb);
pr_debug("waking sk_sleep(sk) 0x%p\n", sk_sleep(sk));
sk->sk_state_change(sk);
diff --git a/net/atm/svc.c b/net/atm/svc.c
index 908cbb8654f5..ba144d035e3d 100644
--- a/net/atm/svc.c
+++ b/net/atm/svc.c
@@ -381,7 +381,7 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags,
msg->pvc.sap_addr.vpi,
msg->pvc.sap_addr.vci);
dev_kfree_skb(skb);
- sk->sk_ack_backlog--;
+ sk_acceptq_removed(sk);
if (error) {
sigd_enq2(NULL, as_reject, old_vcc, NULL, NULL,
&old_vcc->qos, error);