Hello<br>
<br>
when i try to run strace or gdbserver on a program, the following comes:<br>
<br>
Oops: kernel access of bad area, sig: 11 [#2]<br>
NIP: C000543C LR: C000B060 SP: C0F35DF0 REGS: c0f35d40 TRAP: 0300&nbsp;&nbsp;&nbsp; Not tainted<br>
MSR: 00009022 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 10<br>
DAR: 00000010, DSISR: C2000000<br>
TASK = c0ea8430[761] 'gdbserver' THREAD: c0f34000<br>
Last syscall: 26 <br>
GPR00: 00009022 C0F35DF0 C0EA8430 00F59000 00000100 FFFFFFFF 00F58000 00000001 <br>
GPR08: C021DAEF C0270000 00009032 C0270000 22044024 10025428 01000800 00000001 <br>
GPR16: 007FFF3F 00000001 00000000 7FBC6AC0 00F61022 00000001 C0839300 C01E0000 <br>
GPR24: 00CD0889 C082F568 3000AC18 C02A7A00 C0EA15C8 00F588A9 C02ACB00 C02ACB00 <br>
NIP [c000543c] __flush_dcache_icache_phys+0x38/0x54<br>
LR [c000b060] flush_dcache_icache_page+0x20/0x30<br>
Call trace:<br>
&nbsp;[c000b154] update_mmu_cache+0x7c/0xa4<br>
&nbsp;[c005ae98] do_wp_page+0x460/0x5ec<br>
&nbsp;[c005c8a0] handle_mm_fault+0x7cc/0x91c<br>
&nbsp;[c005ccec] get_user_pages+0x2fc/0x65c<br>
&nbsp;[c0027104] access_process_vm+0x9c/0x1d4<br>
&nbsp;[c00076e0] sys_ptrace+0x240/0x4a4<br>
&nbsp;[c0002bd0] ret_from_syscall+0x0/0x44<br>
mm/memory.c:2054: spin_lock(kernel/fork.c:c0ea1618) already locked by mm/memory.c/1306<br>
<br>
and strace or gdbserver of course says segmentation fault. with
gdbserver, this happens every time. with strace, the first time it
works nearly all time, but when i strace a second time program again,
it segfaults. i think the access_process_vm is accessed trough PEEKDATA
and PEEKTEXT in sys_ptrace. so here some more debug :) :<br>
<br>
DEBUG: peekdata @ 1006d4ec<br>
DEBUG: peektext @ 1006d4f0<br>
DEBUG: peekdata @ 1006d4f0<br>
DEBUG: peektext @ 1006d4f4<br>
DEBUG: peekdata @ 1006d4f4<br>
DEBUG: peektext @ 1006d4f8<br>
DEBUG: peekdata @ 1006d4f8<br>
DEBUG: peektext @ 1006d4fc<br>
DEBUG: peekdata @ 1006d4fc<br>
DEBUG: peektext @ 1006d500<br>
DEBUG: peekdata @ 1006d500<br>
DEBUG: peektext @ 1006d504<br>
DEBUG: peekdata @ 1006d504<br>
DEBUG: peektext @ 1006d508<br>
DEBUG: peekdata @ 1006d508<br>
DEBUG: peektext @ 1006d50c<br>
DEBUG: peekdata @ 1006d50c<br>
DEBUG: peektext @ 1006d510<br>
DEBUG: peekdata @ 1006d510<br>
DEBUG: peektext @ 1006d514<br>
DEBUG: peekdata @ 1006d514<br>
DEBUG: peektext @ 1006d518<br>
DEBUG: peekdata @ 1006d518<br>
DEBUG: peektext @ 1006d51c<br>
DEBUG: peekdata @ 1006d51c<br>
DEBUG: peektext @ 1006d520<br>
DEBUG: peekdata @ 1006d520<br>
DEBUG: peektext @ 1006d524<br>
DEBUG: peekdata @ 1006d524<br>
DEBUG: peektext @ 1006d528<br>
DEBUG: peekdata @ 1006d528<br>
DEBUG: peektext @ 1006d52c<br>
DEBUG: peekdata @ 1006d52c<br>
DEBUG: peektext @ 00000000<br>
DEBUG: peekdata @ 00000000<br>
DEBUG: peektext @ 3000ac18<br>
DEBUG: peekdata @ 3000ac18<br>
DEBUG: peektext @ 3000ac18<br>
DEBUG: peekdata @ 3000ac18<br>
DEBUG: flush_dcache_icache_page<br>
Oops: kernel access of bad area, sig: 11 [#2]<br>

NIP: C000543C LR: C000B060 SP: C0F35DF0 REGS: c0f35d40 TRAP: 0300&nbsp;&nbsp;&nbsp; Not tainted<br>

MSR: 00009022 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 10<br>

DAR: 00000010, DSISR: C2000000<br>

TASK = c0ea8430[761] 'gdbserver' THREAD: c0f34000<br>

Last syscall: 26 <br>

GPR00: 00009022 C0F35DF0 C0EA8430 00F59000 00000100 FFFFFFFF 00F58000 00000001 <br>

GPR08: C021DAEF C0270000 00009032 C0270000 22044024 10025428 01000800 00000001 <br>

GPR16: 007FFF3F 00000001 00000000 7FBC6AC0 00F61022 00000001 C0839300 C01E0000 <br>

GPR24: 00CD0889 C082F568 3000AC18 C02A7A00 C0EA15C8 00F588A9 C02ACB00 C02ACB00 <br>

NIP [c000543c] __flush_dcache_icache_phys+0x38/0x54<br>

LR [c000b060] flush_dcache_icache_page+0x20/0x30<br>

Call trace:<br>

&nbsp;[c000b154] update_mmu_cache+0x7c/0xa4<br>

&nbsp;[c005ae98] do_wp_page+0x460/0x5ec<br>

&nbsp;[c005c8a0] handle_mm_fault+0x7cc/0x91c<br>

&nbsp;[c005ccec] get_user_pages+0x2fc/0x65c<br>

&nbsp;[c0027104] access_process_vm+0x9c/0x1d4<br>

&nbsp;[c00076e0] sys_ptrace+0x240/0x4a4<br>

&nbsp;[c0002bd0] ret_from_syscall+0x0/0x44<br>

mm/memory.c:2054: spin_lock(kernel/fork.c:c0ea1618) already locked by mm/memory.c/1306<br>
<br>
<br>