• Gao Feng's avatar
    netfilter: helper: Add the rcu lock when call __nf_conntrack_helper_find · 8b5995d0
    Gao Feng authored
    When invoke __nf_conntrack_helper_find, it needs the rcu lock to
    protect the helper module which would not be unloaded.
    
    Now there are two caller nf_conntrack_helper_try_module_get and
    ctnetlink_create_expect which don't hold rcu lock. And the other
    callers left like ctnetlink_change_helper, ctnetlink_create_conntrack,
    and ctnetlink_glue_attach_expect, they already hold the rcu lock
    or spin_lock_bh.
    
    Remove the rcu lock in functions nf_ct_helper_expectfn_find_by_name
    and nf_ct_helper_expectfn_find_by_symbol. Because they return one pointer
    which needs rcu lock, so their caller should hold the rcu lock, not in
    these two functions.
    Signed-off-by: default avatarGao Feng <fgao@ikuai8.com>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    8b5995d0
nf_conntrack_helper.c 15.2 KB