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