From patchwork Fri Jul 31 00:12:20 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cong Wang X-Patchwork-Id: 502374 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 5012814031E for ; Fri, 31 Jul 2015 10:27:53 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=XrMwOtUD; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751299AbbGaA1t (ORCPT ); Thu, 30 Jul 2015 20:27:49 -0400 Received: from mail-pd0-f194.google.com ([209.85.192.194]:34063 "EHLO mail-pd0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751013AbbGaA1s (ORCPT ); Thu, 30 Jul 2015 20:27:48 -0400 X-Greylist: delayed 918 seconds by postgrey-1.27 at vger.kernel.org; Thu, 30 Jul 2015 20:27:48 EDT Received: by pdav4 with SMTP id v4so3083299pda.1 for ; Thu, 30 Jul 2015 17:27:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=ESv4oDpg5X/xE63DyOpFTFqG6BgYFscRnytk/BMUCrs=; b=XrMwOtUD6taRncza8mSONM3uRcrpd/ahOZWIhtf9wd/RzdgOuWxQLB2tP6pYw6WM0i dJ64ZLAeUVDndrNamApy8+xoWprdeBjaIkiNVSk7SIbVqqniqSqwlAM4xJshd/a9NFW+ 04JdTDgSC5L5SNkwk+y6Kdvb0TG5w/iICs+64+Fkvx/cK39QzQEkULXPdXKrSedVwBZq 9F9OlR8nV9q2c/9+7afN0DLf3mNO+xkO34jsy7rBO9PQSsEQvHsTusFAf1ieklBWnHO1 CGq8iaKBPACOXbxO9+16G0Jcv4mTFzSrFfXOeeMBerdaOnmJsJx7B2PhVZ6RC0kH9pUO zq2A== X-Received: by 10.70.0.166 with SMTP id 6mr111018664pdf.119.1438301550068; Thu, 30 Jul 2015 17:12:30 -0700 (PDT) Received: from localhost.net ([8.25.197.27]) by smtp.gmail.com with ESMTPSA id ml10sm4106251pab.47.2015.07.30.17.12.28 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Jul 2015 17:12:29 -0700 (PDT) From: Cong Wang To: netdev@vger.kernel.org Cc: davem@davemloft.net, Cong Wang , Jamal Hadi Salim , Daniel Borkmann , Cong Wang Subject: [Patch net] act_mirred: avoid calling tcf_hash_release() when binding Date: Thu, 30 Jul 2015 17:12:20 -0700 Message-Id: <1438301541-26192-1-git-send-email-xiyou.wangcong@gmail.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When we share an action within a filter, the bind refcnt should increase, therefore we should not call tcf_hash_release(). Cc: Jamal Hadi Salim Cc: Daniel Borkmann Signed-off-by: Cong Wang Signed-off-by: Cong Wang --- net/sched/act_mirred.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index a42a3b2..2685450 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c @@ -98,6 +98,8 @@ static int tcf_mirred_init(struct net *net, struct nlattr *nla, return ret; ret = ACT_P_CREATED; } else { + if (bind) + return 0; if (!ovr) { tcf_hash_release(a, bind); return -EEXIST;