lkml.org 
[lkml]   [2011]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 81/86] security,rcu: convert call_rcu(sel_netnode_free) to kfree_rcu()
    Date
    From: Lai Jiangshan <laijs@cn.fujitsu.com>

    The rcu callback sel_netnode_free() just calls a kfree(),
    so we use kfree_rcu() instead of the call_rcu(sel_netnode_free).

    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Stephen Smalley <sds@tycho.nsa.gov>
    Cc: James Morris <jmorris@namei.org>
    Cc: Eric Paris <eparis@parisplace.org>
    ---
    security/selinux/netnode.c | 20 ++------------------
    1 files changed, 2 insertions(+), 18 deletions(-)

    diff --git a/security/selinux/netnode.c b/security/selinux/netnode.c
    index 65ebfe9..692b857 100644
    --- a/security/selinux/netnode.c
    +++ b/security/selinux/netnode.c
    @@ -69,22 +69,6 @@ static DEFINE_SPINLOCK(sel_netnode_lock);
    static struct sel_netnode_bkt sel_netnode_hash[SEL_NETNODE_HASH_SIZE];

    /**
    - * sel_netnode_free - Frees a node entry
    - * @p: the entry's RCU field
    - *
    - * Description:
    - * This function is designed to be used as a callback to the call_rcu()
    - * function so that memory allocated to a hash table node entry can be
    - * released safely.
    - *
    - */
    -static void sel_netnode_free(struct rcu_head *p)
    -{
    - struct sel_netnode *node = container_of(p, struct sel_netnode, rcu);
    - kfree(node);
    -}
    -
    -/**
    * sel_netnode_hashfn_ipv4 - IPv4 hashing function for the node table
    * @addr: IPv4 address
    *
    @@ -192,7 +176,7 @@ static void sel_netnode_insert(struct sel_netnode *node)
    rcu_dereference(sel_netnode_hash[idx].list.prev),
    struct sel_netnode, list);
    list_del_rcu(&tail->list);
    - call_rcu(&tail->rcu, sel_netnode_free);
    + kfree_rcu(tail, rcu);
    } else
    sel_netnode_hash[idx].size++;
    }
    @@ -305,7 +289,7 @@ static void sel_netnode_flush(void)
    list_for_each_entry_safe(node, node_tmp,
    &sel_netnode_hash[idx].list, list) {
    list_del_rcu(&node->list);
    - call_rcu(&node->rcu, sel_netnode_free);
    + kfree_rcu(node, rcu);
    }
    sel_netnode_hash[idx].size = 0;
    }
    --
    1.7.3.2


    \
     
     \ /
      Last update: 2011-05-01 15:27    [W:2.752 / U:0.004 seconds]
    ©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site