Messages in this thread | | | From | Hannes Frederic Sowa <> | Subject | Re: [PATCH net] ipv6: add complete rcu protection around np->opt | Date | Tue, 01 Dec 2015 12:11:26 +0100 |
| |
Hi Eric,
On Mon, Nov 30, 2015, at 04:37, Eric Dumazet wrote: > - opt = xchg(&np->opt, NULL); > - if (opt) > - sock_kfree_s(sk, opt, opt->tot_len); > + opt = xchg((__force struct ipv6_txoptions > **)&np->opt, > + NULL); > + if (opt) { > + atomic_sub(opt->tot_len, > &sk->sk_omem_alloc); > + txopt_put(opt); > + } > pktopt = xchg(&np->pktoptions, NULL); > kfree_skb(pktopt);
Is here something special going on (because of the xchg). I don't see why you cannot simply use a RCU_INIT_POINTER?
Thanks, Hannes
| |