From: Yunkai Zhang <[email protected]> We should use list_for_each_entry_safe instead of list_for_each_entry to loop when we need to delete node in it.
Signed-off-by: Yunkai Zhang <[email protected]> --- sheep/sdnet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sheep/sdnet.c b/sheep/sdnet.c index 3a6572e..a2a7bc1 100644 --- a/sheep/sdnet.c +++ b/sheep/sdnet.c @@ -676,7 +676,7 @@ static void destroy_client(struct client_info *ci) static void clear_client(struct client_info *ci) { - struct request *req; + struct request *req, *t; if (ci->rx_req) { free_request(ci->rx_req); @@ -688,7 +688,7 @@ static void clear_client(struct client_info *ci) ci->tx_req = NULL; } - list_for_each_entry(req, &ci->done_reqs, request_list) { + list_for_each_entry_safe(req, t, &ci->done_reqs, request_list) { list_del(&req->request_list); free_request(req); } -- 1.7.10.4 -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
