Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3516692pxf; Mon, 15 Mar 2021 11:17:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxysZ6GsYvf4FsuEbjrx9U/5ZTZCFZ8DtS/DC84OAq503ZFTWmm7rScNi3i86YAffeB/Wl+ X-Received: by 2002:a17:906:379b:: with SMTP id n27mr25635456ejc.182.1615832224568; Mon, 15 Mar 2021 11:17:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615832224; cv=none; d=google.com; s=arc-20160816; b=ZajCernJdhr9jaTk491mCxniZQT+sc8yZ3RUxJfTzHZhjWX7WP87aD2/7QETJtw1bW Su5oz7XjdxalliKeyYc/MB31mibT9BLdBZ07+wVmT0WxG7VD5mgvcgOHNTRztvXhFrtq tAo7T+OghOI7tW5ZwBdRfrorRC9XELjfpRF6TNaEgKsgaTztHA8csTuvBEIJYppyUC/c ysp8NlDB5vCxKc9/hYKeN+Vsj+uHKkJsEKViKZ85/TwwZaNB2W9OkeCDpw+5rez6G6jZ aX8LL1tFMZVRrEl6XsuV975rcFa9jT1eYhQ6YFKuANJ9hV5J8W7InXfvL5l8zlxE+JDX X3DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=DgUFtQpuvpDcKEytdJO7uezOKu8MSHOdAh6qgqGorRY=; b=RCylofu6mFd507a6+54TxCSZDvlxoKwdWucKPMEuPEN8kNXTo8QZwMg75JNWbnF0fC ywpm4UnWeeedULzpSy5EtEDygtOXdLmxAempJYczBCvT1kmN4J46NJkskonJjXrh6H6q 4i5l/jjvq0dstwwpnEY8YhoJ+8HsbW2tnCiMAPCD8XBl+G1mxKxtj4tQy79xmHGbD/IX zsYGZlAjP1XLSx9EnOCVdwK8P1t2nDCt30lP4pbdcCmvIUgvwmI5mBrHincAh+eW5Qw9 YUMkvpXPExXd0x5h+fRRltkxIsSd+hY/xpy0XK+lGONE5PAUXLbKfy51tnMtxy4fIYwH t1ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nE9X3tlu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t22si4219972ejj.746.2021.03.15.11.16.42; Mon, 15 Mar 2021 11:17:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nE9X3tlu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236788AbhCOOPZ (ORCPT + 99 others); Mon, 15 Mar 2021 10:15:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:36622 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232484AbhCON66 (ORCPT ); Mon, 15 Mar 2021 09:58:58 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 9FD6D64F31; Mon, 15 Mar 2021 13:58:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1615816720; bh=isn/jI6FiJCVEyyEAaDBCVK9Fen1E70NJFQ//bYwls8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nE9X3tluWqC6BAZ2jORqv29BuzMlLwUORpPoPPKSr8rBukzrRlp6zCQKtRH0vMIOu /hxvgydPOiW3mM6VUVd70keYm14NKsLWJbN1/kUlOW6+dSTckx2JDfrPkxnfp6sBqK rMXOW1TZAmHZA09yf52+r22H+udfSn+ZstxXCm4I= From: gregkh@linuxfoundation.org To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Maximilian Heyne , "David S. Miller" Subject: [PATCH 4.14 18/95] net: sched: avoid duplicates in classes dump Date: Mon, 15 Mar 2021 14:56:48 +0100 Message-Id: <20210315135740.865357290@linuxfoundation.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210315135740.245494252@linuxfoundation.org> References: <20210315135740.245494252@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Greg Kroah-Hartman From: Maximilian Heyne commit bfc2560563586372212b0a8aeca7428975fa91fe upstream. This is a follow up of commit ea3274695353 ("net: sched: avoid duplicates in qdisc dump") which has fixed the issue only for the qdisc dump. The duplicate printing also occurs when dumping the classes via tc class show dev eth0 Fixes: 59cc1f61f09c ("net: sched: convert qdisc linked list to hashtable") Signed-off-by: Maximilian Heyne Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/sched/sch_api.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -1904,7 +1904,7 @@ static int tc_dump_tclass_qdisc(struct Q static int tc_dump_tclass_root(struct Qdisc *root, struct sk_buff *skb, struct tcmsg *tcm, struct netlink_callback *cb, - int *t_p, int s_t) + int *t_p, int s_t, bool recur) { struct Qdisc *q; int b; @@ -1915,7 +1915,7 @@ static int tc_dump_tclass_root(struct Qd if (tc_dump_tclass_qdisc(root, skb, tcm, cb, t_p, s_t) < 0) return -1; - if (!qdisc_dev(root)) + if (!qdisc_dev(root) || !recur) return 0; if (tcm->tcm_parent) { @@ -1950,13 +1950,13 @@ static int tc_dump_tclass(struct sk_buff s_t = cb->args[0]; t = 0; - if (tc_dump_tclass_root(dev->qdisc, skb, tcm, cb, &t, s_t) < 0) + if (tc_dump_tclass_root(dev->qdisc, skb, tcm, cb, &t, s_t, true) < 0) goto done; dev_queue = dev_ingress_queue(dev); if (dev_queue && tc_dump_tclass_root(dev_queue->qdisc_sleeping, skb, tcm, cb, - &t, s_t) < 0) + &t, s_t, false) < 0) goto done; done: