Re: Re: vsprintf: Add support for userspace strings

From: Masami Hiramatsu
Date: Mon May 11 2015 - 16:42:21 EST


On 2015/05/11 19:57, Richard Weinberger wrote:
> Am 11.05.2015 um 10:59 schrieb Richard Weinberger:
>> Am 11.05.2015 um 02:24 schrieb Masami Hiramatsu:
>>> On 2015/05/11 4:42, Richard Weinberger wrote:
>>>> While debugging issues I often add (trace_)printks to strategic positions.
>>>> Dealing with user provided string is complicated as an extra buffer a
>>>> copy_from_user() is needed.
>>>> This adds a new format string to allow direct printing of such strings.
>>>>
>>>> My initial plan was to use %pU but 'U' is already taken, therefore
>>>> I used the next letter which comes in mind when one thinks of userpace,
>>>> 'L'.
>>>> The %pL format string works exactly like %s.
>>>
>>> BTW, if you need to do this for debug, you can also use ftrace's kprobe-tracer
>>> (and perf probe) which allows you to dump userspace strings :)
>>
>> Sounds promising!
>>
>> But I fail to use it:
>> $ perf probe -vv -L do_sys_open:0-3 -k /boot/vmlinux-4.1.0-rc2-3.g3541e77-vanilla
>> Line range is 0 to 3
>> Use vmlinux: /boot/vmlinux-4.1.0-rc2-3.g3541e77-vanilla
>> Failed to find path of kernel module.
>> Error: Failed to show lines. Reason: No such file or directory (Code: -2)
>>
>> Any idea what's the issue?
>
> Okay, works now as expected. :-)
> Had the wrong debuginfo package installed.

Ah, the message is not good... If you give "-vv" (double -v options),
you'll see below reason.

symsrc__init: build id mismatch for /boot/vmlinux-4.1.0-rc2-3.g3541e77-vanilla

I'll fix that.

Thank you for reporting!

--
Masami HIRAMATSU
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx
--
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/