Forgot to mention, On 11/06, Oleg Nesterov wrote: > > I meant, > > saved_ip = instruction_pointer(regs); > > // pass the "ip" which was used to calculate > // the @addr argument to fetch_*() methods > > temp_ip = is_ret_probe(tu) ? func : saved_ip; > temp_ip -= tu->offset; > instruction_pointer_set(temp_ip); > > store_trace_args(...);
Note that instruction_pointer_set() is not really nice in any case, this can obviously confuse FETCH_MTD_reg("ip"). But lets ignore this. The solution is simple, we can pass/use this info via current->utask. We can either add the new member, or add a union. Or simply reuse xol_vaddr. Doesn't matter. So the only question is should we rely on instruction_pointer/func to translate the address or we should do something else (say, vma). So far I like this approach. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/