Re: [PATCH] net/sctp: terminate rhashtable walk correctly
From: David Miller <davem@davemloft.net>
Date: 2016-07-26 00:44:52
Also in:
linux-sctp, netdev
From: David Miller <davem@davemloft.net>
Date: 2016-07-26 00:44:52
Also in:
linux-sctp, netdev
From: Vegard Nossum <redacted> Date: Sat, 23 Jul 2016 09:42:35 +0200
I was seeing a lot of these:
...
Apparently we always need to call rhashtable_walk_stop(), even when
rhashtable_walk_start() fails:
* rhashtable_walk_start - Start a hash table walk
* @iter: Hash table iterator
*
* Start a hash table walk. Note that we take the RCU lock in all
* cases including when we return an error. So you must always call
* rhashtable_walk_stop to clean up.
otherwise we never call rcu_read_unlock() and we get the splat above.
See-also: 53fa1036 ("sctp: fix some rhashtable functions using in sctp proc/diag")
See-also: f2dba9c6 ("rhashtable: Introduce rhashtable_walk_*")
Cc: Xin Long <lucien.xin@gmail.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: stable@vger.kernel.org
Signed-off-by: Vegard Nossum <redacted>Applied and queued up for -stable, thanks.