From: Andrey Khavryuchenko <akhavr@kds.com.ua>
To: ALT Linux kernel packages development <devel-kernel@altlinux.ru>
Subject: [d-kernel] Re: ?????? oops
Date: Thu, 01 Apr 2004 19:35:57 +0300
Message-ID: <m3ptarhd02.fsf@netmaster.kds.com.ua> (raw)
In-Reply-To: <m3vfknbvoj.fsf@netmaster.kds.com.ua> (Andrey Khavryuchenko's message of "Mon, 29 Mar 2004 16:59:56 +0300")
[-- Attachment #1: Type: text/plain, Size: 1255 bytes --]
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> вокруг всего хозяйства...
Сделал. Работает и не падает.
Патч приложен. Каковы дальнейшие действия для того, чтобы он оказался в
сизифовых ядрах (и мне не нужно было бы раз за разом пересобирать для
себя)?
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: net/atm/br2684.c patch --]
[-- Type: text/x-patch, Size: 768 bytes --]
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);
[-- Attachment #3: Type: text/plain, Size: 199 bytes --]
Теперь буду воевать дальше чтобы вся эта байда стартовала по hotplug.
--
Andrey V Khavryuchenko http://www.kds.com.ua/
Silver Bullet Software Solutions http://www.kds.com.ua/training/
next prev parent reply other threads:[~2004-04-01 16:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-29 13:09 [d-kernel] ÓÌÏ×ÉÌ oops Andrey Khavryuchenko
2004-03-29 13:42 ` [d-kernel] ?????? oops Sergey Vlasov
2004-03-29 13:59 ` [d-kernel] " Andrey Khavryuchenko
2004-04-01 16:35 ` Andrey Khavryuchenko [this message]
2004-04-01 16:39 ` Anton Farygin
2004-04-01 17:27 ` Andrey Khavryuchenko
2004-04-02 10:09 ` Anton Farygin
2004-04-02 10:17 ` Andrey Khavryuchenko
2004-04-02 10:49 ` Anton Farygin
2004-04-02 11:11 ` Andrey Khavryuchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3ptarhd02.fsf@netmaster.kds.com.ua \
--to=akhavr@kds.com.ua \
--cc=devel-kernel@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux kernel packages development
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
public-inbox-index devel-kernel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git