Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3311018pxf; Mon, 15 Mar 2021 06:55:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwI9eLQEQclBf/6dUv3axmhUgl0kPQqWif+Pi3aDNzlfngV+ER28y2udLOr+g+vqnXqQgye X-Received: by 2002:aa7:da14:: with SMTP id r20mr29600352eds.181.1615816526934; Mon, 15 Mar 2021 06:55:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615816526; cv=none; d=google.com; s=arc-20160816; b=A4LIwZxKdOmmYWyEwcBkGSFNqNekSydLPyMjGl6zzhtQAGfoJ2CTmblZEOxb5AxXgt NPqAyf79ZskdXfHf6gMBScTG51M+oDWe5IHjc13rfomcbXn/8JGwifL8jZpHo0v8Hsgl ZRLKmfvAbFI1x4oYqs9iTGDvNsVpyGu7/sotrjYqiuIXLE+0Xspiys2m9pJZa/yz57Uh RMwilz8/n3voQ2NhixNya48+NQICXfIhHyqT+6nY3xrzpGvqnp0NHqBr2P7Jmx7y0JPx PRkY4T3NrG+m+Y3n+pVV8KeNmno/INeQmIGa0fJn7dSOit1VZlcJCtY9poqj+dq+2KgF duyw== 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=cGaZRNrzk/s7nBd/ADU/HNKvvKVlaWUdZaG9IXuVj+8=; b=SocNeZO8k488ZxfiCWZpJTsI7MQGBC0hDtXnS5u58AWnNjZkeHfonBK/k2T4v8Xtvz pDM8xGp1sHlSTl1lC1AYtlGafqcdTbe13CPboiZGNQWSvxOLMKnkZJUIPAqE8WlwhDxn bk7tk7MK9tlk79c0tRxO80b20OXxlDQucJKXVCL/3kjl6V1wnE3a06bWsOCdOPzDNzje dVb49qrElUHJ+nu9rQGbqmD5dWJ1WwaO2fhQ2LNcWPPTnypHlO/BC74qsq2ntyAoSn6p deDRpvLKRul0C+ePNL5eiZh8PQ+aPbyC476DbUgtOLIodL3GL/uhNbKoPcRmGrrt9iBF ihTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=GtCYqdgU; 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 f16si10826310edv.472.2021.03.15.06.55.04; Mon, 15 Mar 2021 06:55:26 -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=GtCYqdgU; 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 S230521AbhCONyK (ORCPT + 99 others); Mon, 15 Mar 2021 09:54:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:55730 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230097AbhCONxM (ORCPT ); Mon, 15 Mar 2021 09:53:12 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 388A364EE3; Mon, 15 Mar 2021 13:53:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1615816392; bh=CXDrykB2YTXWYcveyql7HCHu+NhUEXIlNh+/o7fFvTg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GtCYqdgUpPG2NqOAuc63B4y0oPHqqEovv0W0U8ow3CRBlXjgUxCBJxA2Ve7Oy5J4H UG7POpW0bXPzl274KNbo582KSZZf6CuBtmcVOdqQeIN1AYfhQPK/wM9cnmI0TVLC0H wnz/6CUqGDpSqWeYtUx8pHj4utAKLEEP3vQXCy8U= 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.9 13/78] net: sched: avoid duplicates in classes dump Date: Mon, 15 Mar 2021 14:51:36 +0100 Message-Id: <20210315135212.505232270@linuxfoundation.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210315135212.060847074@linuxfoundation.org> References: <20210315135212.060847074@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 @@ -1789,7 +1789,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; @@ -1800,7 +1800,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; hash_for_each(qdisc_dev(root)->qdisc_hash, b, q, hash) { @@ -1828,13 +1828,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: