On Tue, Sep 5, 2017 at 8:53 PM, Xin Long <lucien....@gmail.com> wrote: > Now there is no lock protecting nlk ngroups/groups' accessing in > netlink bind and getname. It's safe from nlk groups' setting in > netlink_release, but not from netlink_realloc_groups called by > netlink_setsockopt. > > netlink_lock_table is needed in both netlink bind and getname when > accessing nlk groups.
This looks very odd. netlink_lock_table() should be protecting nl_table, why it also protects nlk->groups?? For me it looks like you need lock_sock() instead.