On Thu, Sep 19, 2019 at 03:07:33PM -0700, Joe Stringer wrote: > If two processes attempt to invoke bpf_map_attach() at the same time, > then they will both create maps, then the first will successfully pin > the map to the filesystem and the second will not pin the map, but will > continue operating with a reference to its own copy of the map. As a > result, the sharing of the same map will be broken from the two programs > that were concurrently loaded via loaders using this library. > > Fix this by adding a retry in the case where the pinning fails because > the map already exists on the filesystem. In that case, re-attempt > opening a fd to the map on the filesystem as it shows that another > program already created and pinned a map at that location. > > Signed-off-by: Joe Stringer <j...@wand.net.nz>
Acked-by: Daniel Borkmann <dan...@iogearbox.net>