From: Daniel Borkmann <[email protected]>
Date: Sat, 4 Jun 2016 20:50:59 +0200
> In bpf_perf_event_read() and bpf_perf_event_output(), we must use
> READ_ONCE() for fetching the struct file pointer, which could get
> updated concurrently, so we must prevent the compiler from potential
> refetching.
>
> We already do this with tail calls for fetching the related bpf_prog,
> but not so on stored perf events. Semantics for both are the same
> with regards to updates.
>
> Fixes: a43eec304259 ("bpf: introduce bpf_perf_event_output() helper")
> Fixes: 35578d798400 ("bpf: Implement function bpf_perf_event_read() that get
> the selected hardware PMU conuter")
> Signed-off-by: Daniel Borkmann <[email protected]>
> Acked-by: Alexei Starovoitov <[email protected]>
Applied and queued up for -stable, thanks.