]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
devlink: Add WARN_ON to catch errors of not cleaning devlink objects
authorParav Pandit <parav@mellanox.com>
Fri, 8 Feb 2019 21:15:00 +0000 (15:15 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 Feb 2019 21:21:25 +0000 (13:21 -0800)
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 <parav@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/devlink.c

index e6a015b8ac9bc752d5dac7a5ffc7e1347c132629..0de1edb65c249efd31c6395e90a54da4b659cd34 100644 (file)
@@ -5241,6 +5241,14 @@ EXPORT_SYMBOL_GPL(devlink_unregister);
  */
 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);