On Thu, Jun 8, 2017 at 6:37 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > On Thu, 2017-06-08 at 17:59 -0700, Cong Wang wrote: >> On Thu, Jun 8, 2017 at 1:33 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: >> > I mentioned (in https://lkml.org/lkml/2017/5/31/619 ) that we might need >> > to defer freeing after rcu grace period but for some reason decided it >> > was not needed. >> >> This one makes sense, it is the second time I saw the use-after-free >> in igmp code, both are because we don't respect the RCU rule to free >> an element in the list. >> >> > >> > What about : >> >> But not sure if all ip_ma_put() callers want ip_mc_clear_src(). > > That would lead to a memory leak if this was the case ?
Maybe, but looking at igmpv3_clear_delrec() again, seems we can just acquire pmc->lock in ip_mc_clear_src() to serialize with the readers?