diff options
author | Al Viro <viro@ZenIV.linux.org.uk> | 2013-05-05 18:05:55 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-06 17:06:51 +0200 |
commit | 243198d09f535f5cd74114f1b779c3da25bc70c8 (patch) | |
tree | c8bc152937a6a5de879b4d8f958a8f21a8131ae4 /net | |
parent | fib_trie: no need to delay vfree() (diff) | |
download | linux-243198d09f535f5cd74114f1b779c3da25bc70c8.tar.xz linux-243198d09f535f5cd74114f1b779c3da25bc70c8.zip |
rps_dev_flow_table_release(): no need to delay vfree()
The same story as with fib_trie patch - vfree() from RCU callbacks
is legitimate now.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/net-sysfs.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 7427ab5e27d8..981fed397d1d 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -606,21 +606,11 @@ static ssize_t show_rps_dev_flow_table_cnt(struct netdev_rx_queue *queue, return sprintf(buf, "%lu\n", val); } -static void rps_dev_flow_table_release_work(struct work_struct *work) -{ - struct rps_dev_flow_table *table = container_of(work, - struct rps_dev_flow_table, free_work); - - vfree(table); -} - static void rps_dev_flow_table_release(struct rcu_head *rcu) { struct rps_dev_flow_table *table = container_of(rcu, struct rps_dev_flow_table, rcu); - - INIT_WORK(&table->free_work, rps_dev_flow_table_release_work); - schedule_work(&table->free_work); + vfree(table); } static ssize_t store_rps_dev_flow_table_cnt(struct netdev_rx_queue *queue, |