]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: don't rely on the verifier lock for metadata_dst allocation
authorJakub Kicinski <jakub.kicinski@netronome.com>
Mon, 9 Oct 2017 17:30:14 +0000 (10:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 10 Oct 2017 19:30:16 +0000 (12:30 -0700)
commit3a8386cf95009fd73042b6123fd7616042fcca0c
tree7443577f00bc649d464047dba4b3ece5fa0fb7e2
parente199d80d942ba2a5d7fb34c86dabff1b1562af64
bpf: don't rely on the verifier lock for metadata_dst allocation

bpf_skb_set_tunnel_*() functions require allocation of per-cpu
metadata_dst.  The allocation happens upon verification of the
first program using those helpers.  In preparation for removing
the verifier lock, use cmpxchg() to make sure we only allocate
the metadata_dsts once.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dst_metadata.h
net/core/dst.c
net/core/filter.c