On Mon, Mar 29, 2004 at 04:09:35PM +0300, Andrey Khavryuchenko wrote: > Background: опакечиваю user-space поддержку Zyxel Prestige 630 EE (630-11) > Запускаемая ручками инициализация/прибитие работает без проблем. При > попытке запустить то же из hotplug поймал oops: static int br2684_regvcc(struct atm_vcc *atmvcc, unsigned long arg) ... 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); } ... и вот в этом цикле поймали skb->dev == NULL. Интересно, откуда могли взяться такие пакеты? Никогда не имел дела с ATM... > akhavr@netmaster /tmp/amedyn/scripts $ sudo /usr/sbin/ksymoops < /var/log/messages > ksymoops 2.4.9 on i686 2.4.25-std-up-alt1. Options used > -V (default) > -k /proc/ksyms (default) > -l /proc/modules (default) > -o /lib/modules/2.4.25-std-up-alt1/ (default) > -m /boot/System.map-2.4.25-std-up-alt1 (default) > > Warning: You did not tell me where to find symbol information. I will > assume that the log matches the kernel and modules that are running > right now and I'll use the default options above for symbol resolution. > If the current kernel and/or modules do not match the log, you can get > more accurate output by telling me the kernel version and where to find > map, modules, ksyms etc. ksymoops -h explains the options. > > Warning (compare_ksyms_lsmod): module ext3 is in lsmod but not in ksyms, probably no symbols exported > Mar 29 15:30:37 netmaster kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000178 > Mar 29 15:30:37 netmaster kernel: dff43862 > Mar 29 15:30:37 netmaster kernel: *pde = 07992067 > Mar 29 15:30:37 netmaster kernel: Oops: 0000 > Mar 29 15:30:37 netmaster kernel: CPU: 0 > Mar 29 15:30:38 netmaster kernel: EIP: 0010:[] Tainted: P > Using defaults from ksymoops -t elf32-i386 -a i386 > Mar 29 15:30:38 netmaster kernel: EFLAGS: 00010286 > Mar 29 15:30:38 netmaster kernel: eax: 00000000 ebx: cb261f40 ecx: c8025f00 edx: 00000282 > Mar 29 15:30:38 netmaster kernel: esi: d72c9106 edi: 00000054 ebp: 0000000e esp: cb261efc > Mar 29 15:30:38 netmaster kernel: ds: 0018 es: 0018 ss: 0018 > Mar 29 15:30:38 netmaster kernel: Process br2684ctl (pid: 31994, stackpage=cb261000) > Mar 29 15:30:38 netmaster kernel: Stack: c3da1e00 08040002 00000002 3073616e 00000000 00000000 00000000 00000000 > Mar 29 15:30:38 netmaster kernel: 00000000 00000000 00000001 00000000 00000000 00000000 00000000 00000000 > Mar 29 15:30:38 netmaster kernel: 00000108 dcf89ca0 c80259c0 0000000e dff43b44 dff234d4 400261f2 bffff530 > Mar 29 15:30:38 netmaster kernel: Call Trace: [] [] [] [sock_ioctl+30/48] [sys_ioctl+583/608] > Mar 29 15:30:38 netmaster kernel: Call Trace: [] [] [] [] [] > Mar 29 15:30:38 netmaster kernel: [] > Mar 29 15:30:38 netmaster kernel: Code: 8b 90 78 01 00 00 29 fa 89 90 78 01 00 00 8b 41 18 8b b0 70 > > > >>EIP; dff43862 <[br2684]br2684_regvcc+282/2d0> <===== > > >>ebx; cb261f40 <_end+af4a5b0/1f81a6d0> > >>ecx; c8025f00 <_end+7d0e570/1f81a6d0> > >>esi; d72c9106 <_end+16fb1776/1f81a6d0> > >>esp; cb261efc <_end+af4a56c/1f81a6d0> > > Trace; dff43b44 <[br2684]br2684_ioctl+44/d0> > Trace; dff234d4 <[atm]br2684_ioctl_mutex+0/10> > Trace; dff1ec6a <[atm]vcc_ioctl+9ea/a20> > Trace; dff43b44 <[br2684]br2684_ioctl+44/d0> > Trace; dff234d4 <[atm]br2684_ioctl_mutex+0/10> > Trace; dff1ec6a <[atm]vcc_ioctl+9ea/a20> > Trace; c01e106e > Trace; c0146a07 > Trace; c0108823 > > Code; dff43862 <[br2684]br2684_regvcc+282/2d0> > 00000000 <_EIP>: > Code; dff43862 <[br2684]br2684_regvcc+282/2d0> <===== > 0: 8b 90 78 01 00 00 mov 0x178(%eax),%edx <===== > Code; dff43868 <[br2684]br2684_regvcc+288/2d0> > 6: 29 fa sub %edi,%edx > Code; dff4386a <[br2684]br2684_regvcc+28a/2d0> > 8: 89 90 78 01 00 00 mov %edx,0x178(%eax) > Code; dff43870 <[br2684]br2684_regvcc+290/2d0> > e: 8b 41 18 mov 0x18(%ecx),%eax > Code; dff43873 <[br2684]br2684_regvcc+293/2d0> > 11: 8b b0 70 00 00 00 mov 0x70(%eax),%esi > > > 2 warnings issued. Results may not be reliable.