[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <823792EE-E55E-439D-AA13-C8C6B7EDD00B@fb.com>
Date: Tue, 23 Jun 2020 17:19:27 +0000
From: Song Liu <songliubraving@...com>
To: Daniel Borkmann <daniel@...earbox.net>
CC: bpf <bpf@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"ast@...nel.org" <ast@...nel.org>,
Kernel Team <Kernel-team@...com>,
"john.fastabend@...il.com" <john.fastabend@...il.com>,
"kpsingh@...omium.org" <kpsingh@...omium.org>
Subject: Re: [PATCH bpf-next 2/3] bpf: allow %pB in bpf_seq_printf()
> On Jun 23, 2020, at 8:29 AM, Daniel Borkmann <daniel@...earbox.net> wrote:
>
> On 6/23/20 9:08 AM, Song Liu wrote:
>> This makes it easy to dump stack trace with bpf_seq_printf().
>> Signed-off-by: Song Liu <songliubraving@...com>
>> ---
>> kernel/trace/bpf_trace.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>> diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
>> index 2c13bcb5c2bce..ced3176801ae8 100644
>> --- a/kernel/trace/bpf_trace.c
>> +++ b/kernel/trace/bpf_trace.c
>> @@ -636,7 +636,8 @@ BPF_CALL_5(bpf_seq_printf, struct seq_file *, m, char *, fmt, u32, fmt_size,
>> if (fmt[i] == 'p') {
>> if (fmt[i + 1] == 0 ||
>> fmt[i + 1] == 'K' ||
>> - fmt[i + 1] == 'x') {
>> + fmt[i + 1] == 'x' ||
>> + fmt[i + 1] == 'B') {
>> /* just kernel pointers */
>> params[fmt_cnt] = args[fmt_cnt];
>> fmt_cnt++;
>
> Why only bpf_seq_printf(), what about bpf_trace_printk()?
The use case we are looking at needs bpf_seq_printf(). Let me also add it to
bpf_trace_printk().
Thanks,
Song
Powered by blists - more mailing lists