Re: [PATCHSET 00/13] tracing/uprobes: Add support for more fetch methods (v6)

From: Namhyung Kim
Date: Thu Nov 07 2013 - 04:00:10 EST


On Wed, 6 Nov 2013 19:24:08 +0100, Oleg Nesterov wrote:
> 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").

Yes.

>
> 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.

Okay, I'll take a look.

>
> 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.

Me too. :)

So, I'll wait for more feedbacks from others and then send a new
version. Actually I don't have much to do this these days - probably
until next week (there'll be the KLF). Please forgive my brevity in
replies.

I'll be back with a new patchset then. :)

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/