From patchwork Fri Jul 28 14:40:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 794929 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="MrHKwPVw"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xJs3r317Fz9s3T for ; Sat, 29 Jul 2017 00:41:28 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752193AbdG1OlZ (ORCPT ); Fri, 28 Jul 2017 10:41:25 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:38411 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752147AbdG1OlX (ORCPT ); Fri, 28 Jul 2017 10:41:23 -0400 Received: by mail-wm0-f68.google.com with SMTP id y206so4645573wmd.5 for ; Fri, 28 Jul 2017 07:41:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=gmgtVYtk/rt1nLpnFk3kyFMTn13nvOfEa4P411vUMN0=; b=MrHKwPVwAQ3M6cBoDCSg77OZJg4s+VKNVkIiXLgJ5+iBjm6V0QUQ+15yA6pDv7d/EV x5uILOY3SS7glipf6MHGS3xTsArvi08TlGskn5aQTMGq1nTB2O2vXv0Gnlp9WPfI8X27 erBaaNLbe+gSEG/1jA6ZmGJc03KLQtCyJGQxOcbp0YWrHp9wR4LbCH2Y6Wjj8u1u4Sm8 xob9ylrUbhhuJ9P0nFCEd+66mABOjyq1oKqkPoZuvlf4kp9qEgTfcbgrD0KlmQEn+Ulp qcPGeJH2iX0RzTzNgawUgtLH/KMKADXXD7CkdqelMpWw8sGUDl5KYSrVBhTgx0WWnLk0 eChg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gmgtVYtk/rt1nLpnFk3kyFMTn13nvOfEa4P411vUMN0=; b=nXA1M85JrPjihQwlS5kxe5OiRVa0TvC+VlAoapv41DqXnnett7U+Wwkmk46lUmx0jd QTaY5O/Rze6aaLRZUQWbPIQfT5XzrJMQtKYRpclEVGNUPGn3hAlrHA4dWZAEf9JgtwIe XJI8qOqhPA19PUgMZHc6J79I8/VICElAR5xswryE3sJd8m6ok26YDtr9fG/oflEWGW4a sSpxqL+wZW11Ljz84oqcUkzYcKJJ9aZJLB2OTv3tik84HLcTvJoVk1ow29MqdyKFZpU5 vO0nPL1X+5QmhDW/N1LZMnRNYIL3PfkeWvqyXqoSod3YJGhu+bqSfcQr7k9nfSejzY3w OXzw== X-Gm-Message-State: AIVw111BDHSW0v87aWLXjdp5yx14VjU7OAhnpGF8rDigUQ7VBVwWrRUN J2xWqITLuAcxogiLsf0= X-Received: by 10.28.16.17 with SMTP id 17mr5567845wmq.1.1501252881789; Fri, 28 Jul 2017 07:41:21 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id t2sm3469636wmt.23.2017.07.28.07.41.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 28 Jul 2017 07:41:21 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, jhs@mojatatu.com, xiyou.wangcong@gmail.com, daniel@iogearbox.net, mlxsw@mellanox.com Subject: [patch net-next 14/20] net: sched: cls_matchall: no need to call tcf_exts_change for newly allocated struct Date: Fri, 28 Jul 2017 16:40:36 +0200 Message-Id: <20170728144042.6380-15-jiri@resnulli.us> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170728144042.6380-1-jiri@resnulli.us> References: <20170728144042.6380-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko As the head struct was allocated right before mall_set_parms call, no need to use tcf_exts_change to do atomic change, and we can just fill-up the unused exts struct directly by tcf_exts_validate. Signed-off-by: Jiri Pirko --- net/sched/cls_matchall.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c index 0b77f6e..94181e5 100644 --- a/net/sched/cls_matchall.c +++ b/net/sched/cls_matchall.c @@ -120,25 +120,17 @@ static int mall_set_parms(struct net *net, struct tcf_proto *tp, unsigned long base, struct nlattr **tb, struct nlattr *est, bool ovr) { - struct tcf_exts e; int err; - tcf_exts_init(&e, TCA_MATCHALL_ACT, 0); - err = tcf_exts_validate(net, tp, tb, est, &e, ovr); + err = tcf_exts_validate(net, tp, tb, est, &head->exts, ovr); if (err < 0) - goto errout; + return err; if (tb[TCA_MATCHALL_CLASSID]) { head->res.classid = nla_get_u32(tb[TCA_MATCHALL_CLASSID]); tcf_bind_filter(tp, &head->res, base); } - - tcf_exts_change(&head->exts, &e); - return 0; -errout: - tcf_exts_destroy(&e); - return err; } static int mall_change(struct net *net, struct sk_buff *in_skb,