From: Alexei Starovoitov <a...@plumgrid.com> Date: Thu, 28 May 2015 19:26:02 -0700
> Normally the program attachment place (like sockets, qdiscs) takes > care of rcu protection and calls bpf_prog_put() after a grace period. > The programs stored inside prog_array may not be attached anywhere, > so prog_array needs to take care of preserving rcu protection. > Otherwise bpf_tail_call() will race with bpf_prog_put(). > To solve that introduce bpf_prog_put_rcu() helper function and use > it in 3 places where unattached program can decrement refcnt: > closing program fd, deleting/replacing program in prog_array. > > Fixes: 04fd61ab36ec ("bpf: allow bpf programs to tail-call other bpf > programs") > Reported-by: Martin Schwidefsky <schwidef...@de.ibm.com> > Signed-off-by: Alexei Starovoitov <a...@plumgrid.com> Applied, thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html