Tuukka Toivonen wrote: > [1.] Summary: > Oops when modprobing piix (2.4.21, 2.4.20 not tested) the attached patch fixes the problem. i just recognized that the fix is already merged into 2.4.21-pre6-ac1. greetings, wilfried > > [2.] Full description: > When piix support is compiled as module, and I type > modprobe piix > I get immediately kernel oops message. modprobe crashes with segmentation fault. > > [3.] Keywords: > piix, ide, dma > > [4.] Kernel version: > Linux version 2.4.21 > > [5.] Output of Oops: > ksymoops 2.4.5 on i586 2.4.21. Options used > -V (default) > -k /proc/ksyms (default) > -l /proc/modules (default) > -o /lib/modules/2.4.21/ (default) > -m /boot/vmlinuz-2.4.21.map (specified) > > Jul 5 01:21:01 datazone kernel: Unable to handle kernel paging request at virtual address 83a52264 > Jul 5 01:21:01 datazone kernel: c01f1e52 > Jul 5 01:21:01 datazone kernel: *pde = 00000000 > Jul 5 01:21:01 datazone kernel: Oops: 0002 > Jul 5 01:21:01 datazone kernel: CPU: 0 > Jul 5 01:21:01 datazone kernel: EIP: 0010:[] Not tainted > Using defaults from ksymoops -t elf32-i386 -a i386 > Jul 5 01:21:01 datazone kernel: EFLAGS: 00010282 > Jul 5 01:21:01 datazone kernel: eax: c3812884 ebx: c1397e46 ecx: 00000cf8 edx: 00000000 > Jul 5 01:21:01 datazone kernel: esi: c023f9e0 edi: c10fc800 ebp: c1397e48 esp: c1397e30 > Jul 5 01:21:01 datazone kernel: ds: 0018 es: 0018 ss: 0018 > Jul 5 01:21:01 datazone kernel: Process modprobe (pid: 2467, stackpage=c1397000) > Jul 5 01:21:01 datazone kernel: Stack: c01788a8 c023f9e0 c023f9e0 c38128a2 c381f000 00058bdf c1397e84 c0178c5a > Jul 5 01:21:01 datazone kernel: c10fc800 c3812884 c023f9e0 c10fc800 c10fc800 c3812e00 00000000 00000000 > Jul 5 01:21:01 datazone kernel: 00000001 00000000 00000000 e11db874 00000000 c1397ea0 c0178ccd c1397e9c > Jul 5 01:21:01 datazone kernel: Call Trace: [] [] [] [] [] > Jul 5 01:21:01 datazone kernel: [] [] [] [] [] [] > Jul 5 01:21:01 datazone kernel: [] [] [] [] [] [] > Jul 5 01:21:01 datazone kernel: [] [] [] [] [] [] > Jul 5 01:21:01 datazone kernel: [] [] [] [] > Jul 5 01:21:01 datazone kernel: Code: 30 34 30 30 30 0a 23 64 65 66 69 6e 65 20 4d 41 53 4b 5f 31 > > > >>>EIP; c01f1e52 <===== >> > >>>eax; c3812884 <[piix]piix_pci_info+90/3c0> >>>ebx; c1397e46 <_end+11541ba/35bc374> >>>ecx; 00000cf8 Before first symbol >>>esi; c023f9e0 >>>edi; c10fc800 <_end+eb8b74/35bc374> >>>ebp; c1397e48 <_end+11541bc/35bc374> >>>esp; c1397e30 <_end+11541a4/35bc374> >> > > Trace; c01788a8 > Trace; c38128a2 <[piix]piix_pci_info+ae/3c0> > Trace; c0178c5a > Trace; c3812884 <[piix]piix_pci_info+90/3c0> > Trace; c3812e00 <[piix]driver+0/3f> > Trace; c0178ccd > Trace; c3812884 <[piix]piix_pci_info+90/3c0> > Trace; c011e4be > Trace; c3811f18 <[piix]init_setup_piix+10/14> > Trace; c3812884 <[piix]piix_pci_info+90/3c0> > Trace; c3811f54 <[piix]piix_init_one+38/50> > Trace; c3812884 <[piix]piix_pci_info+90/3c0> > Trace; c3812c10 <[piix]piix_pci_tbl+54/244> > Trace; c017c17e > Trace; c3812c10 <[piix]piix_pci_tbl+54/244> > Trace; c3812e00 <[piix]driver+0/3f> > Trace; c017c1e7 > Trace; c3812e00 <[piix]driver+0/3f> > Trace; c3812e00 <[piix]driver+0/3f> > Trace; c0178d1f > Trace; c3812e00 <[piix]driver+0/3f> > Trace; c3812012 <[piix]piix_ide_init+12/18> > Trace; c3812e00 <[piix]driver+0/3f> > Trace; c01127f5 > Trace; c0127fa2 <__alloc_pages+3e/14c> > Trace; c3811060 <[piix]__module_description+0/0> > Trace; c0106c93 > > Code; c01f1e52 > 00000000 <_EIP>: > Code; c01f1e52 <===== > 0: 30 34 30 xor %dh,(%eax,%esi,1) <===== > Code; c01f1e55 > 3: 30 30 xor %dh,(%eax) > Code; c01f1e57 > 5: 0a 23 or (%ebx),%ah > Code; c01f1e59 > 7: 64 65 66 69 6e 65 20 imul $0x4d20,%fs:%gs:0x65(%esi),%bp > Code; c01f1e60 > e: 4d > Code; c01f1e61 > f: 41 inc %ecx > Code; c01f1e62 > 10: 53 push %ebx > Code; c01f1e63 > 11: 4b dec %ebx > Code; c01f1e64 > 12: 5f pop %edi > Code; c01f1e65 > 13: 31 00 xor %eax,(%eax)