On 01/29/2019 03:43 AM, Alexei Starovoitov wrote: > Disabled preemption is necessary for proper access to per-cpu maps > from BPF programs. > > But the sender side of socket filters didn't have preemption disabled: > unix_dgram_sendmsg->sk_filter->sk_filter_trim_cap->bpf_prog_run_save_cb->BPF_PROG_RUN > > and a combination of af_packet with tun device didn't disable either: > tpacket_snd->packet_direct_xmit->packet_pick_tx_queue->ndo_select_queue-> > tun_select_queue->tun_ebpf_select_queue->bpf_prog_run_clear_cb->BPF_PROG_RUN > > Disable preemption before executing BPF programs (both classic and extended). > > Reported-by: Jann Horn <ja...@google.com> > Signed-off-by: Alexei Starovoitov <a...@kernel.org>
Applied, thanks!