From patchwork Tue Jan 24 12:00:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Parthasarathy Bhuvaragan X-Patchwork-Id: 719081 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3v76HN0KWhz9sdm for ; Tue, 24 Jan 2017 23:02:08 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751013AbdAXMCC (ORCPT ); Tue, 24 Jan 2017 07:02:02 -0500 Received: from sessmg23.ericsson.net ([193.180.251.45]:64317 "EHLO sessmg23.ericsson.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750773AbdAXMB5 (ORCPT ); Tue, 24 Jan 2017 07:01:57 -0500 X-AuditID: c1b4fb2d-e76b398000007e3d-0f-5887422d764d Received: from ESESSHC011.ericsson.se (Unknown_Domain [153.88.183.51]) by (Symantec Mail Security) with SMTP id 77.35.32317.D2247885; Tue, 24 Jan 2017 13:01:49 +0100 (CET) Received: from tipsy.lab.linux.ericsson.se (10.35.28.120) by ESESSHC011.ericsson.se (153.88.183.51) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 24 Jan 2017 13:00:59 +0100 From: Parthasarathy Bhuvaragan To: CC: , , Subject: [PATCH net v1 6/6] tipc: fix cleanup at module unload Date: Tue, 24 Jan 2017 13:00:48 +0100 Message-ID: <1485259248-21812-7-git-send-email-parthasarathy.bhuvaragan@ericsson.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1485259248-21812-1-git-send-email-parthasarathy.bhuvaragan@ericsson.com> References: <1485259248-21812-1-git-send-email-parthasarathy.bhuvaragan@ericsson.com> MIME-Version: 1.0 X-Originating-IP: [10.35.28.120] X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrLLMWRmVeSWpSXmKPExsUyM2K7sa6uU3uEweUbBhbHFohZbDmfZfH4 +nVmB2aP3Qs+M3l83iTnsX7LVqYA5igum5TUnMyy1CJ9uwSujIez6gpWc1aceb+ZuYHxFnsX IyeHhICJxKXPt5i6GLk4hATWMUps6Z3HBuFsZ5SY3fiDsYuRg4NNwE1iXnMCSIOIgIzE0f4F bCA2s0CixLo1r5hBSoQF7CSezXEFCbMIqEoc7r4EVsIrECrR9uADC8QuOYnzx38yg9icAmES H/+tAbOFgGp+Xb7HClEvKHFy5hMWiPESEgdfvICqMZKYcPE4E8QcBYlvM7uZJjAKzELSMgtJ ywJGplWMosWpxcW56UbGeqlFmcnFxfl5enmpJZsYgYF4cMtv3R2Mq187HmIU4GBU4uEtkGqL EGJNLCuuzD3EKMHBrCTCK+nQHiHEm5JYWZValB9fVJqTWnyIUZqDRUmc12zl/XAhgfTEktTs 1NSC1CKYLBMHp1QDY4/SQ4nmF/X1mhE/Nq5T/nBDzvJEs1771JUH5hrc25S+LVXw6iIT1QXT v7e0KH752P3A1vB6zX2Fo1rWMfkvme2FNh49KbtjhbvkpByG2BWngsw+32Pv/lTfF3WHRY1F spq9UbdDZ8pTKSU30436x9Z9u8uw6tzJwydi7xsnHl8tF9ix7PyLnUosxRmJhlrMRcWJABUw r35AAgAA Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In tipc_server_stop(), we iterate over the connections with limiting factor as server's idr_in_use. We ignore the fact that this variable is decremented in tipc_close_conn(), leading to premature exit. In this commit, we iterate until the we have no connections left. Acked-by: Ying Xue Acked-by: Jon Maloy Tested-by: John Thompson Signed-off-by: Parthasarathy Bhuvaragan --- net/tipc/server.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/net/tipc/server.c b/net/tipc/server.c index 04ff441b8065..3cd6402e812c 100644 --- a/net/tipc/server.c +++ b/net/tipc/server.c @@ -619,14 +619,12 @@ int tipc_server_start(struct tipc_server *s) void tipc_server_stop(struct tipc_server *s) { struct tipc_conn *con; - int total = 0; int id; spin_lock_bh(&s->idr_lock); - for (id = 0; total < s->idr_in_use; id++) { + for (id = 0; s->idr_in_use; id++) { con = idr_find(&s->conn_idr, id); if (con) { - total++; spin_unlock_bh(&s->idr_lock); tipc_close_conn(con); spin_lock_bh(&s->idr_lock);