Re: [PATCH bpf-next 5/6] bpf: sockmap: allow update from BPF

From: Yonghong Song
Date: Wed Aug 19 2020 - 16:35:49 EST




On 8/19/20 2:24 AM, Lorenz Bauer wrote:
Allow calling bpf_map_update_elem on sockmap and sockhash from a BPF
context. The synchronization required for this is a bit fiddly: we
need to prevent the socket from changing it's state while we add it
to the sockmap, since we rely on getting a callback via
sk_prot->unhash. However, we can't just lock_sock like in
sock_map_sk_acquire because that might sleep. So instead we disable
softirq processing and use bh_lock_sock to prevent further
modification.

Signed-off-by: Lorenz Bauer <lmb@xxxxxxxxxxxxxx>

Acked-by: Yonghong Song <yhs@xxxxxx>