]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: reset ret in again path in sctp_for_each_transport
authorXin Long <lucien.xin@gmail.com>
Tue, 23 Jan 2018 10:22:25 +0000 (18:22 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Jan 2018 16:22:25 +0000 (11:22 -0500)
commit0f2869e678fe06941790428bb7b3c5fa099ea05f
treeaaf4ecd21339dcd54865856a95649b2c9739bcb5
parentf796a44d9927b248abefaf6ee897f5be9144c299
sctp: reset ret in again path in sctp_for_each_transport

Commit f8240ec417a6 ("rhashtable: Change rhashtable_walk_start to
return void") only initialized ret for the first time, when going
to again path, the next tsp could be NULL. Without resetting ret,
cb_done would be called with tsp as NULL.

A kernel crash was caused by this when running sctpdiag testcase
in sctp-tests.

Note that this issue doesn't affect net.git yet.

Fixes: f8240ec417a6 ("rhashtable: Change rhashtable_walk_start to return void")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/socket.c