From: Jakub Kicinski Date: Thu, 5 Jan 2023 04:05:25 +0000 (-0800) Subject: devlink: health: combine loops in dump X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a0e13dfdc391dfb2a9b165e2475fb1796c9be98d;p=linux.git devlink: health: combine loops in dump Walk devlink instances only once. Dump the instance reporters and port reporters before moving to the next instance. User space should not depend on ordering of messages. This will make improving stability of the walk easier. Reviewed-by: Jiri Pirko Reviewed-by: Jacob Keller Signed-off-by: Jakub Kicinski --- diff --git a/net/devlink/leftover.c b/net/devlink/leftover.c index d88461b33ddfe..83cd7bd55941b 100644 --- a/net/devlink/leftover.c +++ b/net/devlink/leftover.c @@ -7940,10 +7940,7 @@ devlink_nl_cmd_health_reporter_get_dumpit(struct sk_buff *msg, idx++; } mutex_unlock(&devlink->reporters_lock); - devlink_put(devlink); - } - devlinks_xa_for_each_registered_get(sock_net(msg->sk), index, devlink) { devl_lock(devlink); xa_for_each(&devlink->ports, port_index, port) { mutex_lock(&port->reporters_lock);