From patchwork Thu Jan 22 09:58:18 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Borkmann X-Patchwork-Id: 431751 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id F2CF6140284 for ; Thu, 22 Jan 2015 20:59:11 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752757AbbAVJ64 (ORCPT ); Thu, 22 Jan 2015 04:58:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44581 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752623AbbAVJ6v (ORCPT ); Thu, 22 Jan 2015 04:58:51 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t0M9wMXN022316 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 22 Jan 2015 04:58:22 -0500 Received: from localhost (vpn1-6-187.ams2.redhat.com [10.36.6.187]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t0M9wLtq031833; Thu, 22 Jan 2015 04:58:22 -0500 From: Daniel Borkmann To: davem@davemloft.net Cc: jiri@resnulli.us, netdev@vger.kernel.org, Thomas Graf Subject: [PATCH net-next 1/2] net: cls_basic: return from walking on match in basic_get Date: Thu, 22 Jan 2015 10:58:18 +0100 Message-Id: <1421920699-26556-2-git-send-email-dborkman@redhat.com> In-Reply-To: <1421920699-26556-1-git-send-email-dborkman@redhat.com> References: <1421920699-26556-1-git-send-email-dborkman@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org As soon as we've found a matching handle in basic_get(), we can return it. There's no need to continue walking until the end of a filter chain, since they are unique anyway. Signed-off-by: Daniel Borkmann Acked-by: Jiri Pirko Cc: Thomas Graf Acked-by: Thomas Graf --- net/sched/cls_basic.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/net/sched/cls_basic.c b/net/sched/cls_basic.c index 5aed341..fc399db 100644 --- a/net/sched/cls_basic.c +++ b/net/sched/cls_basic.c @@ -65,9 +65,12 @@ static unsigned long basic_get(struct tcf_proto *tp, u32 handle) if (head == NULL) return 0UL; - list_for_each_entry(f, &head->flist, link) - if (f->handle == handle) + list_for_each_entry(f, &head->flist, link) { + if (f->handle == handle) { l = (unsigned long) f; + break; + } + } return l; }