From patchwork Thu Oct 15 13:00:00 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= X-Patchwork-Id: 36110 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.176.167]) by ozlabs.org (Postfix) with ESMTP id 67F68B7B7C for ; Fri, 16 Oct 2009 00:01:34 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933047AbZJONAh (ORCPT ); Thu, 15 Oct 2009 09:00:37 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932988AbZJONAg (ORCPT ); Thu, 15 Oct 2009 09:00:36 -0400 Received: from yop.chewa.net ([91.121.105.214]:46950 "EHLO yop.chewa.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932541AbZJONAg (ORCPT ); Thu, 15 Oct 2009 09:00:36 -0400 Received: by yop.chewa.net (Postfix, from userid 1007) id 0AD25459; Thu, 15 Oct 2009 15:00:00 +0200 (CEST) From: =?utf-8?q?R=C3=A9mi=20Denis-Courmont?= To: netdev@vger.kernel.org Cc: =?utf-8?q?R=C3=A9mi=20Denis-Courmont?= Subject: [PATCH] Phonet: hold socket before giving it to sk_deliver_skb() Date: Thu, 15 Oct 2009 16:00:00 +0300 Message-Id: <1255611600-18534-1-git-send-email-remi@remlab.net> X-Mailer: git-send-email 1.5.6.5 In-Reply-To: <3a7a7527184221041233e9ade71e4bf1@chewa.net> References: <3a7a7527184221041233e9ade71e4bf1@chewa.net> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Rémi Denis-Courmont Signed-off-by: Rémi Denis-Courmont Acked-by: Eric Dumazet --- net/phonet/socket.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/net/phonet/socket.c b/net/phonet/socket.c index 8c84190..0412beb 100644 --- a/net/phonet/socket.c +++ b/net/phonet/socket.c @@ -112,8 +112,10 @@ void pn_deliver_sock_broadcast(struct net *net, struct sk_buff *skb) continue; clone = skb_clone(skb, GFP_ATOMIC); - if (clone) + if (clone) { + sock_hold(sknode); sk_receive_skb(sknode, clone, 0); + } } spin_unlock(&pnsocks.lock); }