Message ID | 1421838733-16495-1-git-send-email-kaber@trash.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On 01/21/15 at 11:12am, Patrick McHardy wrote: > "next" is not updated, causing an endless loop for buckets with more than > one element. > > Signed-off-by: Patrick McHardy <kaber@trash.net> Fixes: 88d6ed15acff ("rhashtable: Convert bucket iterators to take table and index") Acked-by: Thomas Graf <tgraf@suug.ch> Dave: This only affects net-next. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Patrick McHardy <kaber@trash.net> Date: Wed, 21 Jan 2015 11:12:13 +0000 > "next" is not updated, causing an endless loop for buckets with more than > one element. > > Signed-off-by: Patrick McHardy <kaber@trash.net> Applied, thanks Patrick. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index 9570832..83944f9 100644 --- a/include/linux/rhashtable.h +++ b/include/linux/rhashtable.h @@ -260,7 +260,9 @@ void rhashtable_destroy(struct rhashtable *ht); next = !rht_is_a_nulls(pos) ? \ rht_dereference_bucket(pos->next, tbl, hash) : NULL; \ (!rht_is_a_nulls(pos)) && rht_entry(tpos, pos, member); \ - pos = next) + pos = next, \ + next = !rht_is_a_nulls(pos) ? \ + rht_dereference_bucket(pos->next, tbl, hash) : NULL) /** * rht_for_each_rcu_continue - continue iterating over rcu hash chain
"next" is not updated, causing an endless loop for buckets with more than one element. Signed-off-by: Patrick McHardy <kaber@trash.net> --- include/linux/rhashtable.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)