ipv6: remove useless spin_lock/spin_unlock
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> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
54ceb9ec6f
commit
86fe8f8920
|
@ -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_ext_hdr_len = opt->opt_flen + opt->opt_nflen;
|
||||||
icsk->icsk_sync_mss(sk, icsk->icsk_pmtu_cookie);
|
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);
|
sk_dst_reset(sk);
|
||||||
|
|
||||||
return opt;
|
return opt;
|
||||||
|
|
Loading…
Reference in New Issue