Thread (3 messages) 3 messages, 2 authors, 2015-07-06

Re: [PATCH] rhashtable: fix for resize events during table walk

flat view

From: Phil Sutter <phil@nwl.cc>
Date: 2015-07-06 13:52:35
Also in: lkml, sparclinux

On Mon, Jul 06, 2015 at 09:30:40PM +0800, Herbert Xu wrote:
On Mon, Jul 06, 2015 at 02:01:42PM +0200, Phil Sutter wrote:
quoted
diff --git a/lib/rhashtable.c b/lib/rhashtable.c
index a60a6d3..e36b94b 100644
--- a/lib/rhashtable.c
+++ b/lib/rhashtable.c
@@ -585,6 +585,7 @@ void *rhashtable_walk_next(struct rhashtable_iter *iter)
 	struct bucket_table *tbl = iter->walker->tbl;
 	struct rhashtable *ht = iter->ht;
 	struct rhash_head *p = iter->p;
+	void *rc = NULL;
 
 	if (p) {
 		p = rht_dereference_bucket_rcu(p->next, tbl, iter->slot);
@@ -617,12 +618,12 @@ next:
 	if (iter->walker->tbl) {
 		iter->slot = 0;
 		iter->skip = 0;
-		return ERR_PTR(-EAGAIN);
+		rc = ERR_PTR(-EAGAIN);
 	}
 
 	iter->p = NULL;
I think a simpler fix would be to move "iter->p = NULL" before
the if statement.
Done. Thanks for the review!

Cheers, Phil
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help