diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-29 10:44:22 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-11-29 10:44:22 -0800 |
commit | 8d7ee9c498e29026aa2a99db40c0032bfe2d4fdf (patch) | |
tree | d4933996296141103b1f54e563268b23c95d6dd4 /net/core | |
parent | 412dc7f368bf10a8049a8a4c41abbfd0108742e7 (diff) | |
parent | 72083646528d4887b920deb71b37e09bc7d227bb (diff) | |
download | op-kernel-dev-8d7ee9c498e29026aa2a99db40c0032bfe2d4fdf.zip op-kernel-dev-8d7ee9c498e29026aa2a99db40c0032bfe2d4fdf.tar.gz |
Merge branch 'master' into work
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/filter.c | 2 | ||||
-rw-r--r-- | net/core/net-sysfs.c | 10 | ||||
-rw-r--r-- | net/core/request_sock.c | 4 |
3 files changed, 10 insertions, 6 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index 23e9b2a..c1ee800 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -589,7 +589,7 @@ int sk_chk_filter(struct sock_filter *filter, int flen) EXPORT_SYMBOL(sk_chk_filter); /** - * sk_filter_rcu_release: Release a socket filter by rcu_head + * sk_filter_rcu_release - Release a socket filter by rcu_head * @rcu: rcu_head that contains the sk_filter to free */ static void sk_filter_rcu_release(struct rcu_head *rcu) diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index a5ff5a8..7f902ca 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -712,15 +712,21 @@ static void rx_queue_release(struct kobject *kobj) map = rcu_dereference_raw(queue->rps_map); - if (map) + if (map) { + RCU_INIT_POINTER(queue->rps_map, NULL); call_rcu(&map->rcu, rps_map_release); + } flow_table = rcu_dereference_raw(queue->rps_flow_table); - if (flow_table) + if (flow_table) { + RCU_INIT_POINTER(queue->rps_flow_table, NULL); call_rcu(&flow_table->rcu, rps_dev_flow_table_release); + } if (atomic_dec_and_test(&first->count)) kfree(first); + else + memset(kobj, 0, sizeof(*kobj)); } static struct kobj_type rx_queue_ktype = { diff --git a/net/core/request_sock.c b/net/core/request_sock.c index 7552495..fceeb37 100644 --- a/net/core/request_sock.c +++ b/net/core/request_sock.c @@ -45,9 +45,7 @@ int reqsk_queue_alloc(struct request_sock_queue *queue, nr_table_entries = roundup_pow_of_two(nr_table_entries + 1); lopt_size += nr_table_entries * sizeof(struct request_sock *); if (lopt_size > PAGE_SIZE) - lopt = __vmalloc(lopt_size, - GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO, - PAGE_KERNEL); + lopt = vzalloc(lopt_size); else lopt = kzalloc(lopt_size, GFP_KERNEL); if (lopt == NULL) |