From patchwork Mon May 31 21:23:13 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 54135 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 5800FB7D1E for ; Tue, 1 Jun 2010 07:23:34 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752950Ab0EaVXS (ORCPT ); Mon, 31 May 2010 17:23:18 -0400 Received: from mail-ww0-f46.google.com ([74.125.82.46]:57837 "EHLO mail-ww0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751973Ab0EaVXR (ORCPT ); Mon, 31 May 2010 17:23:17 -0400 Received: by wwb28 with SMTP id 28so1551095wwb.19 for ; Mon, 31 May 2010 14:23:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:cc :content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=1p/C09QlW4wUNUFOqzD0p0b1BpIQpHDsC8AlVJcJYFI=; b=hggtaNit0tJcEpVbmk3MBjtmmP6spYFfA882ZP+PjPtI/NuDhLhvKBu2NB5Kf3Nq7E 3dXO1emyOjObG4bTaI8MJMqjNqOpDd9ZklkZ6orQDD+iTa3mnOl4+RTz9WMZ5amPN2yO M404gNYYlWlvxywXhlpx5GsuKpc8iuvlEl6Ik= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; b=BmtagtMBtdlwohE8yzO78xgy2hAnc/V8Ej/OPFJQbk9lMFMcN56hK0bjrYV7cvNp5+ Hcpt1oZ5Ft6qO21t24fzt6NEEVlFskm9IpNPEqUpd8L+ubkUcGcNijN6+CbFVKG+2EXm A8zd8YXgqP6o2Mm5aJnESIQQTzwjgEEhYh0nA= Received: by 10.227.155.141 with SMTP id s13mr4747369wbw.78.1275340996007; Mon, 31 May 2010 14:23:16 -0700 (PDT) Received: from [127.0.0.1] ([85.17.35.125]) by mx.google.com with ESMTPS id e82sm2274232wej.4.2010.05.31.14.23.14 (version=SSLv3 cipher=RC4-MD5); Mon, 31 May 2010 14:23:15 -0700 (PDT) Subject: [PATCH net-next-2.6] br_netfilter: use skb_set_noref() From: Eric Dumazet To: Stephen Hemminger , Patrick McHardy , David Miller Cc: bridge@lists.linux-foundation.org, netdev Date: Mon, 31 May 2010 23:23:13 +0200 Message-ID: <1275340993.2478.27.camel@edumazet-laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Avoid dirtying bridge_parent_rtable refcount, using new dst noref infrastructure. Signed-off-by: Eric Dumazet --- net/bridge/br_netfilter.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c index 4442099..cbea5af 100644 --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c @@ -244,8 +244,7 @@ static int br_nf_pre_routing_finish_ipv6(struct sk_buff *skb) kfree_skb(skb); return 0; } - dst_hold(&rt->u.dst); - skb_dst_set(skb, &rt->u.dst); + skb_dst_set_noref(skb, &rt->u.dst); skb->dev = nf_bridge->physindev; nf_bridge_update_protocol(skb); @@ -396,8 +395,7 @@ bridged_dnat: kfree_skb(skb); return 0; } - dst_hold(&rt->u.dst); - skb_dst_set(skb, &rt->u.dst); + skb_dst_set_noref(skb, &rt->u.dst); } skb->dev = nf_bridge->physindev;