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/

Reply via email to