Re: [RFCv2 4/4] bpf: inhibit speculated out-of-bounds pointers

From: Dan Williams
Date: Fri Jan 05 2018 - 11:38:49 EST


On Fri, Jan 5, 2018 at 6:57 AM, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> Note: this patch is an *example* use of the nospec API. It is understood
> that this is incomplete, etc.
>
> Under speculation, CPUs may mis-predict branches in bounds checks. Thus,
> memory accesses under a bounds check may be speculated even if the
> bounds check fails, providing a primitive for building a side channel.
>
> The EBPF map code has a number of such bounds-checks accesses in
> map_lookup_elem implementations. This patch modifies these to use the
> nospec helpers to inhibit such side channels.
>
> The JITted lookup_elem implementations remain potentially vulnerable,
> and are disabled (with JITted code falling back to the C
> implementations).

Do we still need this given this patch from the bpf folks:

https://patchwork.ozlabs.org/patch/855911/

?