Pablo Neira Ayuso wrote: > Or much simpler, just call read_rcu_unlock() before the first > nla_nest_start() so that this results in much smaller patch: > > nlmsg_failure: > nla_put_failure: > read_rcu_unlock(); <--- > nlmsg_trim(skb, b); > return -1; As said, if you do this in ctnetlink_conntrack_event, I think that you can also remove the rcu_read_lock in ctnetlink_dump_helpinfo, as then all dump functions will be invoked under rcu_read_lock. In ctnetlink_get_conntrack, I think that ctnetlink_fill_info needs to be protected with rcu_read_lock. BTW, why do we need such a big read-side critical section in ctnetlink_create_conntrack? I think that we only need for the helper assignation, right? -- "Los honestos son inadaptados sociales" -- Les Luthiers -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html