aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rhashtable.h
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2018-06-04 13:33:12 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2018-06-04 13:33:12 -0700
commitc13aca79ff3c4af5fd31a5b2743a90eba6e36a26 (patch)
tree8f77894f61822d1ae5285c07c801af7c62f71afd /include/linux/rhashtable.h
parent40f7090bb1b4ec327ea1e1402ff5783af5b35195 (diff)
parent5ca4d1ae9bad0f59bd6f851c39b19f5366953666 (diff)
downloadkernel_replicant_linux-c13aca79ff3c4af5fd31a5b2743a90eba6e36a26.tar.gz
kernel_replicant_linux-c13aca79ff3c4af5fd31a5b2743a90eba6e36a26.tar.bz2
kernel_replicant_linux-c13aca79ff3c4af5fd31a5b2743a90eba6e36a26.zip
Merge branch 'next' into for-linus
Prepare input updates for 4.18 merge window.
Diffstat (limited to 'include/linux/rhashtable.h')
-rw-r--r--include/linux/rhashtable.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h
index c9df2527e0cd..1f8ad121eb43 100644
--- a/include/linux/rhashtable.h
+++ b/include/linux/rhashtable.h
@@ -152,25 +152,25 @@ struct rhashtable_params {
/**
* struct rhashtable - Hash table handle
* @tbl: Bucket table
- * @nelems: Number of elements in table
* @key_len: Key length for hashfn
- * @p: Configuration parameters
* @max_elems: Maximum number of elements in table
+ * @p: Configuration parameters
* @rhlist: True if this is an rhltable
* @run_work: Deferred worker to expand/shrink asynchronously
* @mutex: Mutex to protect current/future table swapping
* @lock: Spin lock to protect walker list
+ * @nelems: Number of elements in table
*/
struct rhashtable {
struct bucket_table __rcu *tbl;
- atomic_t nelems;
unsigned int key_len;
- struct rhashtable_params p;
unsigned int max_elems;
+ struct rhashtable_params p;
bool rhlist;
struct work_struct run_work;
struct mutex mutex;
spinlock_t lock;
+ atomic_t nelems;
};
/**
@@ -766,8 +766,10 @@ slow_path:
if (!key ||
(params.obj_cmpfn ?
params.obj_cmpfn(&arg, rht_obj(ht, head)) :
- rhashtable_compare(&arg, rht_obj(ht, head))))
+ rhashtable_compare(&arg, rht_obj(ht, head)))) {
+ pprev = &head->next;
continue;
+ }
data = rht_obj(ht, head);