lkml.org 
[lkml]   [2020]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v2 bpf-next 1/3] bpf: Add bpf_perf_prog_read_branches() helper
Date
On 1/23/20 2:30 PM, Daniel Xu wrote:
> On Thu Jan 23, 2020 at 11:23 PM, Daniel Borkmann wrote:
> [...]
>>
>> Yes, so we've been following this practice for all the BPF helpers no
>> matter
>> which program type. Though for tracing it may be up to debate whether it
>> makes
>> still sense given there's nothing to be leaked here since you can read
>> this data
>> anyway via probe read if you'd wanted to. So we might as well get rid of
>> the
>> clearing for all tracing helpers.
>
> Right, that makes sense. Do you want me to leave it in for this patchset
> and then remove all of them in a followup patchset?
>

I don't think we can remove that for existing tracing helpers (e.g.,
bpf_probe_read). There are applications that explicitly expect
destination memory to be zeroed out on failure. It's a BPF world's
memset(0).

I also wonder if BPF verifier has any extra assumptions for
ARG_PTR_TO_UNINIT_MEM w.r.t. it being initialized after helper call
(e.g., for liveness tracking).

>>
>> Different question related to your set. It looks like br_stack is only
>> available
>> on x86, is that correct? For other archs this will always bail out on
>> !br_stack
>> test. Perhaps we should document this fact so users are not surprised
>> why their
>> prog using this helper is not working on !x86. Wdyt?
>
> I think perf_event_open() should fail on !x86 if a user tries to configure
> it with branch stack collection. So there would not be the opportunity for
> the bpf prog to be attached and run. I haven't tested this, though. I'll
> look through the code / install a VM and test it.
>
> [...]
>
> Thanks,
> Daniel
>

\
 
 \ /
  Last update: 2020-01-23 23:42    [W:0.377 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site