Message ID | 547E7594.7010301@cn.fujitsu.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Duan Jiong <duanj.fnst@cn.fujitsu.com> Date: Wed, 3 Dec 2014 10:29:40 +0800 > xchg is atomic, so there is no necessary to use spin_lock/spin_unlock > to protect it. At last, remove the redundant > opt = xchg(&inet6_sk(sk)->opt, opt); statement. > > Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com> > --- > v2: remove the redundant opt = xchg(&inet6_sk(sk)->opt, opt); statement. Applied, thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index e1a9583..66980d8 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c @@ -110,12 +110,8 @@ struct ipv6_txoptions *ipv6_update_options(struct sock *sk, icsk->icsk_ext_hdr_len = opt->opt_flen + opt->opt_nflen; icsk->icsk_sync_mss(sk, icsk->icsk_pmtu_cookie); } - opt = xchg(&inet6_sk(sk)->opt, opt); - } else { - spin_lock(&sk->sk_dst_lock); - opt = xchg(&inet6_sk(sk)->opt, opt); - spin_unlock(&sk->sk_dst_lock); } + opt = xchg(&inet6_sk(sk)->opt, opt); sk_dst_reset(sk); return opt;
xchg is atomic, so there is no necessary to use spin_lock/spin_unlock to protect it. At last, remove the redundant opt = xchg(&inet6_sk(sk)->opt, opt); statement. Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com> --- v2: remove the redundant opt = xchg(&inet6_sk(sk)->opt, opt); statement. net/ipv6/ipv6_sockglue.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)