* Patrick McHardy <[EMAIL PROTECTED]> wrote: > > this means that this particular use could be fixed by converting the > > preempt_disable()/enable() pair in nf_ct_l4proto_find_get() to > > rcu_read_lock()/unlock(), correct? > > That is another bug (all uses of preempt_disable in netfilter > actually), but calling __nf_ct_l[34]proto_find without rcu_read_lock > is broken as well. > > > Furthermore, every user of synchronize_net() [and synchronize_rcu() > > in general] needs to be reviewed. > > I'll take care of netfilter.
great! Netfilter is one of the main users of synchronize_net() (about 90% of the synchronize_net() callsites are in netfilter), and one of the main (well, in fact pretty much only) users of preempt_disable(). Dave, Patrick, can we lift the nack on PREEMPT_RCU, as far as networking goes? We really need some progress regarding it, and i think Paul is way too modest about pushing it. His patchset been in beta testing for like 2 years meanwhile. PREEMPT_RCU has already found a nice set of bugs/uncleanlinesses elsewhere too, so even if you never actually enable PREEMPT_RCU (it's off by default), it's a nice generalization of the RCU framework that also tightens up its semantics. I think we need that, before existing code learns to depend on non-generic details of 'classic' RCU too much. [my other interest in it, as you might have guessed, is that PREEMPT_RT depends on PREEMPT_RCU architecturally, but that shouldnt worry you - i think the upstream arguments alone are strong enough.] Ingo - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html