From patchwork Sun Nov 21 13:32:43 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Lindner X-Patchwork-Id: 521 Return-Path: Received: from nm9.bullet.mail.ukl.yahoo.com (nm9.bullet.mail.ukl.yahoo.com [217.146.182.250]) by open-mesh.org (Postfix) with SMTP id A4B891542F7 for ; Sun, 21 Nov 2010 14:35:07 +0100 (CET) Received: from [217.146.183.210] by nm9.bullet.mail.ukl.yahoo.com with NNFMP; 21 Nov 2010 13:35:07 -0000 Received: from [217.146.183.74] by tm3.bullet.mail.ukl.yahoo.com with NNFMP; 21 Nov 2010 13:35:07 -0000 Received: from [127.0.0.1] by omp1035.mail.ukl.yahoo.com with NNFMP; 21 Nov 2010 13:35:07 -0000 X-Yahoo-Newman-Id: 204438.98138.bm@omp1035.mail.ukl.yahoo.com Received: (qmail 29099 invoked from network); 21 Nov 2010 13:35:07 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.de; h=DKIM-Signature:Received:X-Yahoo-SMTP:X-YMail-OSG:X-Yahoo-Newman-Property:From:To:Subject:Date:User-Agent:MIME-Version:Content-Type:Message-Id; b=Xx9+A3stXTSkzjmddXzsq53+8BUTLgF57PiSRBZio+K+cyD5vvg3HfRhyi8ZV+3K8fwvXHkFs9Cdlxw9/ZFz6M7jdbF8PN3/v3j7gJWqmAMEol6ud7w/GONh98kMhRanRM2qTTMFCkklXlSals3hG+P33OCHEXpDpYmMSqV84TM= ; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s1024; t=1290346507; bh=MZcdrTOCjKKDLQDMQM/hy1RiUMw1cAOA0UOI/aOUn60=; h=Received:X-Yahoo-SMTP:X-YMail-OSG:X-Yahoo-Newman-Property:From:To:Subject:Date:User-Agent:MIME-Version:Content-Type:Message-Id; b=QfN8IP6CzCrkR+4OjTwppGZqbXvZkmoG2ESAzuUcNqpP5XWHqXGMvT2FOAnmmleamXLk40owF7VETRnhw89m6AeT06zb2oN4p8pqEtR3Rj4QgEQDEiBybm2UxpF9qGEVoZqPerH8cbzLrTNBNpzkwD5jkLNqzsgClKfLeu78xmI= Received: from turgot.localnet (lindner_marek@78.46.248.235 with plain) by smtp120.mail.ukl.yahoo.com with SMTP; 21 Nov 2010 05:35:03 -0800 PST X-Yahoo-SMTP: tW.h3tiswBBMXO2coYcbPigGD5Lt6zY_.Zc- X-YMail-OSG: mLqfLsoVM1mpBbiZtMUcb8ZVrVoTIEM617CJUSc3PMXbu1s .nyF8XA.HAMerxF4Z5EofjjOEqLRz68aDE4ViV3AyjcZdncMrm5FxhksdSse KCsAJHKi_Zbco7FVhG0rSrVBcFmTcYdyzIB76HyLYQfmyTW3SRv.rfL7x7LX JCwgO9NqCHCyHJ31S0vDdv99lISZwua5eQy0m2YKORR2QzP3h5TiIKsr7dpj QXYMXDymUF0Q6cfKq0q7v6lHCbfSdonj0AciczTfxFuVTZ3aGIMyy2W8BtYW O4Mkra5vORgsuXE6Eua7mVsjxYA4p8ephlKQ- X-Yahoo-Newman-Property: ymail-3 From: Marek Lindner To: lesniak@sra.uni-hannover.de, b.a.t.m.a.n@lists.open-mesh.org Date: Sun, 21 Nov 2010 14:32:43 +0100 User-Agent: KMail/1.13.5 (Linux/2.6.32-5-amd64; KDE/4.4.5; x86_64; ; ) MIME-Version: 1.0 Message-Id: <201011211432.44862.lindner_marek@yahoo.de> Subject: [B.A.T.M.A.N.] batman-adv crash on Intel 3945ABG & 4965 AGN X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Nov 2010 13:35:07 -0000 Hi, 2 days ago I proposed a patch which fixes the crash you reported in ticket #141. Although you confirmed the patch solves the issue I haven't pushed it yet as the cause seems to be a bug within the Intel driver and should be fixed there (unless we do something horribly wrong). Could you please let us know the driver version that was used in your test setup ? A 'modinfo iwlagn | grep version' should do. We will then get in touch with the Intel wifi maintainers. Regards, Marek From a2496fe3ade7f6295b47f1271279de319831a8a7 Mon Sep 17 00:00:00 2001 From: Marek Lindner Date: Sun, 21 Nov 2010 14:15:22 +0100 Subject: [PATCH] batman-adv: dropped skbs that are too short (intel bug?) Reported-by: Lesniak Signed-off-by: Marek Lindner --- batman-adv/soft-interface.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/batman-adv/soft-interface.c b/batman-adv/soft-interface.c index e93a99f..6ba796f 100644 --- a/batman-adv/soft-interface.c +++ b/batman-adv/soft-interface.c @@ -493,6 +493,11 @@ void interface_rx(struct net_device *soft_iface, goto out; } + printk(KERN_INFO "interface_rx(): skb->len: %i, skb->data_len: %i, bug: %i\n", skb->len, skb->data_len, skb->len - ETH_HLEN < skb->data_len); + if (!pskb_may_pull(skb, ETH_HLEN)) { + printk(KERN_INFO "interface_rx(): dropping small packet\n"); + goto dropped; + } /* skb->dev & skb->pkt_type are set here */ skb->protocol = eth_type_trans(skb, soft_iface); -- 1.7.2.3