[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190924123212.44d7835d@hermes.lan>
Date: Tue, 24 Sep 2019 12:32:12 -0700
From: Stephen Hemminger <stephen@...workplumber.org>
To: Joe Stringer <joe@...d.net.nz>
Cc: netdev@...r.kernel.org, daniel@...earbox.net
Subject: Re: [PATCHv2 iproute2 master] bpf: Fix race condition with map
pinning
On Thu, 19 Sep 2019 19:04:47 -0700
Joe Stringer <joe@...d.net.nz> 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 <joe@...d.net.nz>
Thanks, I put this in as last patch for 5.3.
Powered by blists - more mailing lists