From patchwork Fri May 21 01:16:32 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Herbert Xu X-Patchwork-Id: 53111 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 E1A3AB7D1F for ; Fri, 21 May 2010 11:16:53 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753012Ab0EUBQr (ORCPT ); Thu, 20 May 2010 21:16:47 -0400 Received: from ringil.hengli.com.au ([216.59.3.182]:47962 "EHLO arnor.apana.org.au" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752696Ab0EUBQq (ORCPT ); Thu, 20 May 2010 21:16:46 -0400 Received: from gondolin.me.apana.org.au ([192.168.0.6]) by arnor.apana.org.au with esmtp (Exim 4.63 #1 (Debian)) id 1OFGqo-0004vh-Ds; Fri, 21 May 2010 11:16:34 +1000 Received: from herbert by gondolin.me.apana.org.au with local (Exim 4.69) (envelope-from ) id 1OFGqm-0006D7-HX; Fri, 21 May 2010 11:16:32 +1000 Date: Fri, 21 May 2010 11:16:32 +1000 From: Herbert Xu To: Neil Horman Cc: Eric Dumazet , David Miller , bmb@athenacr.com, tgraf@redhat.com, nhorman@redhat.com, netdev@vger.kernel.org Subject: Re: tun: Use netif_receive_skb instead of netif_rx Message-ID: <20100521011632.GA23849@gondor.apana.org.au> References: <20100519.200522.140743640.davem@davemloft.net> <20100520033446.GA6434@gondor.apana.org.au> <1274332507.2658.31.camel@edumazet-laptop> <20100520052059.GC7443@gondor.apana.org.au> <1274333779.2658.43.camel@edumazet-laptop> <20100520054642.GA7836@gondor.apana.org.au> <20100520172918.GA17613@shamino.rdu.redhat.com> <20100520231630.GA22593@gondor.apana.org.au> <20100521003939.GA2223@localhost.localdomain> <20100521010211.GA23671@gondor.apana.org.au> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20100521010211.GA23671@gondor.apana.org.au> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Fri, May 21, 2010 at 11:02:11AM +1000, Herbert Xu wrote: > > That's what I meant above. My patch will make tun.c to the > classid update every time it sends out a packet. Here it is: tun: Update classid on packet injection This patch makes tun update its socket classid every time we inject a packet into the network stack. This is so that any updates made by the admin to the process writing packets to tun is effected. Signed-off-by: Herbert Xu Cheers, diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 4326520..a8a9aa8 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -525,6 +525,8 @@ static inline struct sk_buff *tun_alloc_skb(struct tun_struct *tun, struct sk_buff *skb; int err; + sock_update_classid(sk); + /* Under a page? Don't bother with paged skb. */ if (prepad + len < PAGE_SIZE || !linear) linear = len; diff --git a/net/core/sock.c b/net/core/sock.c index 8f7fdf8..4969bd1 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1055,6 +1055,7 @@ void sock_update_classid(struct sock *sk) if (classid && classid != sk->sk_classid) sk->classid = classid; } +EXPORT_SYMBOL(sock_update_classid); #endif /**