Skip to content

Commit 2f2d997

Browse files
edumazetdavem330
authored andcommitted
net: annotate lockless accesses to sk->sk_err_soft
This field can be read/written without lock synchronization. tcp and dccp have been handled in different patches. Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 9a25f0c commit 2f2d997

File tree

7 files changed

+10
-9
lines changed

7 files changed

+10
-9
lines changed

fs/dlm/lowcomms.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ static void lowcomms_error_report(struct sock *sk)
601601
"sk_err=%d/%d\n", dlm_our_nodeid(),
602602
con->nodeid, &inet->inet_daddr,
603603
ntohs(inet->inet_dport), sk->sk_err,
604-
sk->sk_err_soft);
604+
READ_ONCE(sk->sk_err_soft));
605605
break;
606606
#if IS_ENABLED(CONFIG_IPV6)
607607
case AF_INET6:
@@ -610,14 +610,15 @@ static void lowcomms_error_report(struct sock *sk)
610610
"dport %d, sk_err=%d/%d\n", dlm_our_nodeid(),
611611
con->nodeid, &sk->sk_v6_daddr,
612612
ntohs(inet->inet_dport), sk->sk_err,
613-
sk->sk_err_soft);
613+
READ_ONCE(sk->sk_err_soft));
614614
break;
615615
#endif
616616
default:
617617
printk_ratelimited(KERN_ERR "dlm: node %d: socket error "
618618
"invalid socket family %d set, "
619619
"sk_err=%d/%d\n", dlm_our_nodeid(),
620-
sk->sk_family, sk->sk_err, sk->sk_err_soft);
620+
sk->sk_family, sk->sk_err,
621+
READ_ONCE(sk->sk_err_soft));
621622
break;
622623
}
623624

net/atm/signaling.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ static int sigd_send(struct atm_vcc *vcc, struct sk_buff *skb)
125125
break;
126126
case as_addparty:
127127
case as_dropparty:
128-
sk->sk_err_soft = -msg->reply;
128+
WRITE_ONCE(sk->sk_err_soft, -msg->reply);
129129
/* < 0 failure, otherwise ep_ref */
130130
clear_bit(ATM_VF_WAITING, &vcc->flags);
131131
break;

net/ipv4/af_inet.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1322,7 +1322,7 @@ int inet_sk_rebuild_header(struct sock *sk)
13221322
sk->sk_state != TCP_SYN_SENT ||
13231323
(sk->sk_userlocks & SOCK_BINDADDR_LOCK) ||
13241324
(err = inet_sk_reselect_saddr(sk)) != 0)
1325-
sk->sk_err_soft = -err;
1325+
WRITE_ONCE(sk->sk_err_soft, -err);
13261326
}
13271327

13281328
return err;

net/ipv6/af_inet6.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -845,7 +845,7 @@ int inet6_sk_rebuild_header(struct sock *sk)
845845
dst = ip6_dst_lookup_flow(sock_net(sk), sk, &fl6, final_p);
846846
if (IS_ERR(dst)) {
847847
sk->sk_route_caps = 0;
848-
sk->sk_err_soft = -PTR_ERR(dst);
848+
WRITE_ONCE(sk->sk_err_soft, -PTR_ERR(dst));
849849
return PTR_ERR(dst);
850850
}
851851

net/ipv6/inet6_connection_sock.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ int inet6_csk_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl_unused
120120

121121
dst = inet6_csk_route_socket(sk, &fl6);
122122
if (IS_ERR(dst)) {
123-
sk->sk_err_soft = -PTR_ERR(dst);
123+
WRITE_ONCE(sk->sk_err_soft, -PTR_ERR(dst));
124124
sk->sk_route_caps = 0;
125125
kfree_skb(skb);
126126
return PTR_ERR(dst);

net/sctp/input.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ static void sctp_v4_err_handle(struct sctp_transport *t, struct sk_buff *skb,
585585
sk->sk_err = err;
586586
sk_error_report(sk);
587587
} else { /* Only an error on timeout */
588-
sk->sk_err_soft = err;
588+
WRITE_ONCE(sk->sk_err_soft, err);
589589
}
590590
}
591591

net/sctp/ipv6.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ static void sctp_v6_err_handle(struct sctp_transport *t, struct sk_buff *skb,
155155
sk->sk_err = err;
156156
sk_error_report(sk);
157157
} else {
158-
sk->sk_err_soft = err;
158+
WRITE_ONCE(sk->sk_err_soft, err);
159159
}
160160
}
161161

0 commit comments

Comments
 (0)