After upgrading my kernel from 2.4.9 to 2.4.10 and recompiling the mach64 drm module, I start X and get an oops. The X log looks as though all setup has completed, all the way through the keyboard/mouse setup. The box locks up, but I can ssh in and run ksymoops on the syslog. The decoded oops is attached. I get "Unable to handle kernel paging request at virtual address 5a5a5a5a." This problem is reproducible every time and the address is always the same. I'm not sure if this is a kernel bug related to the VM changes or a problem with the mach64 drm code (I'm using the latest changes posted by Manuel -- based on 4.1.0 drm), so I thought I'd post it here first. The problem seems to be happening in mach64_vm_shm_close which comes from the DRM(vm_shm_close) template in drm_vm.h. Has anyone had problems with 2.4.10 and drm modules from X4.1.0? -- Leif Delgass
ksymoops 2.4.3 on i686 2.4.10. Options used -v /usr/src/linux/vmlinux (specified) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.4.10/ (default) -m /usr/src/linux/System.map (default) Warning (compare_maps): mismatch on symbol partition_name , ksyms_base says c01b4630, vmlinux says c0151270. Ignoring ksyms_base entry Unable to handle kernel paging request at virtual address 5a5a5a5a d48e3248 *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<d48e3248>] Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00013206 eax: c43a0740 ebx: 5a5a5a5a ecx: 00000090 edx: d2de5334 esi: c3c688ac edi: d48eaec0 ebp: 00000001 esp: cc64fc48 ds: 0018 es: 0018 ss: 0018 Process X (pid: 1757, stackpage=cc64f000) Stack: c0124bda 00003246 c43a0740 c43a0824 00001000 d24d87f4 40028000 c012328f c43a0824 c43a078c 00000000 cc64fed4 00000000 cc64e000 d12f3a80 cc64fd78 00000000 d24d87f4 c013a483 d24d87f4 d12f3a80 cc64fd78 00000000 cc64e000 Call Trace: [generic_file_read+138/432] [exit_mmap+111/288] [exec_mmap+35/272] [flush_old_exec+100/592] [load_elf_binary+1022/2528] Call Trace: [<c0124bda>] [<c012328f>] [<c013a483>] [<c013a5d4>] [<c0149e5e>] [<c013c77c>] [<c0149a60>] [<c013abc1>] [<c013ae4c>] [<c013bcce>] [<c0105b30>] [<c0106edb>] Code: 8b 03 39 70 40 75 01 45 3b 44 24 20 75 25 85 d2 74 0a 8b 43 >>EIP; d48e3248 <[mach64]mach64_vm_shm_close+5c/150> <===== Trace; c0124bda <generic_file_read+8a/1b0> Trace; c012328e <exit_mmap+6e/120> Trace; c013a482 <exec_mmap+22/110> Trace; c013a5d4 <flush_old_exec+64/250> Trace; c0149e5e <load_elf_binary+3fe/9e0> Trace; c013c77c <path_walk+6ac/790> Trace; c0149a60 <load_elf_binary+0/9e0> Trace; c013abc0 <search_binary_handler+70/180> Trace; c013ae4c <do_execve+17c/1e0> Trace; c013bcce <getname+5e/a0> Trace; c0105b30 <sys_execve+30/60> Trace; c0106eda <system_call+32/38> Code; d48e3248 <[mach64]mach64_vm_shm_close+5c/150> 00000000 <_EIP>: Code; d48e3248 <[mach64]mach64_vm_shm_close+5c/150> <===== 0: 8b 03 mov (%ebx),%eax <===== Code; d48e324a <[mach64]mach64_vm_shm_close+5e/150> 2: 39 70 40 cmp %esi,0x40(%eax) Code; d48e324c <[mach64]mach64_vm_shm_close+60/150> 5: 75 01 jne 8 <_EIP+0x8> d48e3250 <[mach64]mach64_vm_shm_close+64/150> Code; d48e324e <[mach64]mach64_vm_shm_close+62/150> 7: 45 inc %ebp Code; d48e3250 <[mach64]mach64_vm_shm_close+64/150> 8: 3b 44 24 20 cmp 0x20(%esp,1),%eax Code; d48e3254 <[mach64]mach64_vm_shm_close+68/150> c: 75 25 jne 33 <_EIP+0x33> d48e327a <[mach64]mach64_vm_shm_close+8e/150> Code; d48e3256 <[mach64]mach64_vm_shm_close+6a/150> e: 85 d2 test %edx,%edx Code; d48e3258 <[mach64]mach64_vm_shm_close+6c/150> 10: 74 0a je 1c <_EIP+0x1c> d48e3264 <[mach64]mach64_vm_shm_close+78/150> Code; d48e325a <[mach64]mach64_vm_shm_close+6e/150> 12: 8b 43 00 mov 0x0(%ebx),%eax invalid operand: 0000 CPU: 0 EIP: 0010:[exit_mmap+250/288] EIP: 0010:[<c012331a>] EFLAGS: 00013202 eax: 0d48d000 ebx: 00000000 ecx: 0000000e edx: d24d88b4 esi: d24d87f4 edi: d24d87f4 ebp: 00000000 esp: cc64fae4 ds: 0018 es: 0018 ss: 0018 Process X (pid: 1757, stackpage=cc64f000) Stack: 00000000 00000000 00000000 00000000 d3f32e34 d24d87f4 cc64e000 0000000b 00000000 c011317a d24d87f4 d24d87f4 c0116fab d24d87f4 c020837e cc64fc14 c011123e c02082a0 00000000 c0107407 00000000 c0204084 c02041cd c020837e Call Trace: [mmput+74/112] [do_exit+139/448] [bust_spinlocks+62/80] [die+71/96] [do_page_fault+903/1232] Call Trace: [<c011317a>] [<c0116fab>] [<c011123e>] [<c0107407>] [<c0111607>] [<c013bef0>] [<c013c77c>] [<c012c075>] [<c0129c15>] [<c0111280>] [<c0106fcc>] [<d48eaec0>] [<d48e3248>] [generic_file_read+138/432] [exit_mmap+111/288] [exec_mmap+35/272] [flush_old_exec+100/592] [<d48eaec0>] [<d48e3248>] [<c0124bda>] [<c012328f>] [<c013a483>] [<c013a5d4>] [<c0149e5e>] [<c013c77c>] [<c0149a60>] [<c013abc1>] [<c013ae4c>] [<c013bcce>] [<c0105b30>] [<c0106edb>] Code: 0f 0b 68 00 03 00 00 6a 00 57 e8 97 d4 ff ff 83 c4 20 5b 5e >>EIP; c012331a <exit_mmap+fa/120> <===== Trace; c011317a <mmput+4a/70> Trace; c0116faa <do_exit+8a/1c0> Trace; c011123e <bust_spinlocks+3e/50> Trace; c0107406 <die+46/60> Trace; c0111606 <do_page_fault+386/4d0> Trace; c013bef0 <cached_lookup+10/50> Trace; c013c77c <path_walk+6ac/790> Trace; c012c074 <free_page_and_swap_cache+a4/b0> Trace; c0129c14 <kfree+174/220> Trace; c0111280 <do_page_fault+0/4d0> Trace; c0106fcc <error_code+34/3c> Trace; d48eaec0 <[mach64]mach64_device+0/0> Trace; d48e3248 <[mach64]mach64_vm_shm_close+5c/150> Trace; d48eaec0 <[mach64]mach64_device+0/0> Trace; d48e3248 <[mach64]mach64_vm_shm_close+5c/150> Trace; c0124bda <generic_file_read+8a/1b0> Trace; c012328e <exit_mmap+6e/120> Trace; c013a482 <exec_mmap+22/110> Trace; c013a5d4 <flush_old_exec+64/250> Trace; c0149e5e <load_elf_binary+3fe/9e0> Trace; c013c77c <path_walk+6ac/790> Trace; c0149a60 <load_elf_binary+0/9e0> Trace; c013abc0 <search_binary_handler+70/180> Trace; c013ae4c <do_execve+17c/1e0> Trace; c013bcce <getname+5e/a0> Trace; c0105b30 <sys_execve+30/60> Trace; c0106eda <system_call+32/38> Code; c012331a <exit_mmap+fa/120> 00000000 <_EIP>: Code; c012331a <exit_mmap+fa/120> <===== 0: 0f 0b ud2a <===== Code; c012331c <exit_mmap+fc/120> 2: 68 00 03 00 00 push $0x300 Code; c0123320 <exit_mmap+100/120> 7: 6a 00 push $0x0 Code; c0123322 <exit_mmap+102/120> 9: 57 push %edi Code; c0123324 <exit_mmap+104/120> a: e8 97 d4 ff ff call ffffd4a6 <_EIP+0xffffd4a6> c01207c0 <clear_page_tables+0/90> Code; c0123328 <exit_mmap+108/120> f: 83 c4 20 add $0x20,%esp Code; c012332c <exit_mmap+10c/120> 12: 5b pop %ebx Code; c012332c <exit_mmap+10c/120> 13: 5e pop %esi 1 warning issued. Results may not be reliable.