From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B235C169C4 for ; Fri, 8 Feb 2019 21:15:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5BE6A217D8 for ; Fri, 8 Feb 2019 21:15:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727147AbfBHVPJ (ORCPT ); Fri, 8 Feb 2019 16:15:09 -0500 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:56600 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726353AbfBHVPJ (ORCPT ); Fri, 8 Feb 2019 16:15:09 -0500 Received: from Internal Mail-Server by MTLPINE1 (envelope-from parav@mellanox.com) with ESMTPS (AES256-SHA encrypted); 8 Feb 2019 23:15:06 +0200 Received: from sw-mtx-036.mtx.labs.mlnx (sw-mtx-036.mtx.labs.mlnx [10.12.150.149]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x18LF5Kg006764; Fri, 8 Feb 2019 23:15:06 +0200 From: Parav Pandit To: netdev@vger.kernel.org, davem@davemloft.net Cc: parav@mellanox.com Subject: [PATCHv1 net-next] devlink: Add WARN_ON to catch errors of not cleaning devlink objects Date: Fri, 8 Feb 2019 15:15:00 -0600 Message-Id: <1549660500-26565-1-git-send-email-parav@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add WARN_ON to make sure that all sub objects of a devlink device are cleanedup before freeing the devlink device. This helps to catch any driver bugs. Signed-off-by: Parav Pandit --- Changelog: v0->v1: - Added WARN_ON for reporter_list too - Change the WARN_ON lists order to follow mirror of its init part. --- net/core/devlink.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/net/core/devlink.c b/net/core/devlink.c index 7fbdba5..ab7ce80 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5237,6 +5237,14 @@ void devlink_unregister(struct devlink *devlink) */ void devlink_free(struct devlink *devlink) { + WARN_ON(!list_empty(&devlink->reporter_list)); + WARN_ON(!list_empty(&devlink->region_list)); + WARN_ON(!list_empty(&devlink->param_list)); + WARN_ON(!list_empty(&devlink->resource_list)); + WARN_ON(!list_empty(&devlink->dpipe_table_list)); + WARN_ON(!list_empty(&devlink->sb_list)); + WARN_ON(!list_empty(&devlink->port_list)); + kfree(devlink); } EXPORT_SYMBOL_GPL(devlink_free); -- 1.8.3.1