From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: ALT Linux kernel packages development References: <20040329134223.GC22273@master.mivlgu.local> From: Andrey Khavryuchenko Organization: KDS Software Group X-Attribution: AVK Date: Thu, 01 Apr 2004 19:35:57 +0300 In-Reply-To: (Andrey Khavryuchenko's message of "Mon, 29 Mar 2004 16:59:56 +0300") Message-ID: User-Agent: Gnus/5.110001 (No Gnus v0.1) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Virus-Scanned: by amavisd-new at kds.com.ua Subject: [d-kernel] Re: ?????? oops X-BeenThere: devel-kernel@altlinux.ru X-Mailman-Version: 2.1.4 Precedence: list Reply-To: ALT Linux kernel packages development List-Id: ALT Linux kernel packages development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Apr 2004 16:36:03 -0000 Archived-At: List-Archive: List-Post: --=-=-= Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Hi! "AVK" == Andrey Khavryuchenko wrote: AVK> "SV" == Sergey Vlasov wrote: SV> On Mon, Mar 29, 2004 at 04:09:35PM +0300, Andrey Khavryuchenko wrote: >>> Background: опакечиваю user-space поддержку Zyxel Prestige 630 EE (630-11) >>> Запускаемая ручками инициализация/прибитие работает без проблем. При >>> попытке запустить то же из hotplug поймал oops: SV> static int br2684_regvcc(struct atm_vcc *atmvcc, unsigned long arg) SV> ... SV> skb_queue_head_init(©); SV> skb_migrate(&atmvcc->sk->receive_queue, ©); SV> while ((skb = skb_dequeue(©))) { SV> BRPRIV(skb->dev)->stats.rx_bytes -= skb->len; SV> BRPRIV(skb->dev)->stats.rx_packets--; SV> br2684_push(atmvcc, skb); SV> } SV> ... SV> и вот в этом цикле поймали skb->dev == NULL. Интересно, откуда SV> могли взяться такие пакеты? Никогда не имел дела с ATM... AVK> А ХЗ! Это не ATM, это aDSL, который у нас поддерживается через atm-ную AVK> байду. AVK> br2684_regvcc - это в одноименном модуле? И там IMO стооит поставить AVK> if(skb->dev) AVK> вокруг всего хозяйства... Сделал. Работает и не падает. Патч приложен. Каковы дальнейшие действия для того, чтобы он оказался в сизифовых ядрах (и мне не нужно было бы раз за разом пересобирать для себя)? --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=00_atm-bt2684-fix.patch Content-Description: net/atm/br2684.c patch diff -ru kernel-source-2.4.25.orig/net/atm/br2684.c kernel-source-2.4.25/net/atm/br2684.c --- kernel-source-2.4.25.orig/net/atm/br2684.c 2004-04-01 14:17:51 +0300 +++ kernel-source-2.4.25/net/atm/br2684.c 2004-04-01 15:05:58 +0300 @@ -559,11 +559,12 @@ atmvcc->push = br2684_push; skb_queue_head_init(©); skb_migrate(&atmvcc->sk->receive_queue, ©); - while ((skb = skb_dequeue(©))) { - BRPRIV(skb->dev)->stats.rx_bytes -= skb->len; - BRPRIV(skb->dev)->stats.rx_packets--; - br2684_push(atmvcc, skb); - } + while ((skb = skb_dequeue(©))) + if( skb->dev ) { + BRPRIV(skb->dev)->stats.rx_bytes -= skb->len; + BRPRIV(skb->dev)->stats.rx_packets--; + br2684_push(atmvcc, skb); + } return 0; error: write_unlock_irq(&devs_lock); --=-=-= Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Теперь буду воевать дальше чтобы вся эта байда стартовала по hotplug. -- Andrey V Khavryuchenko http://www.kds.com.ua/ Silver Bullet Software Solutions http://www.kds.com.ua/training/ --=-=-=--