OSDN Git Service

net: Introduce skb_send_sock() for sock_map
authorCong Wang <cong.wang@bytedance.com>
Wed, 31 Mar 2021 02:32:24 +0000 (19:32 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 1 Apr 2021 17:56:13 +0000 (10:56 -0700)
commit0739cd28f2645e814586c7536ba5da9825cb8029
tree1dda13a7ca4f90e5c5ba6236656c528cd09d9c6e
parentb01fd6e802b6d0a635176f943315670b679d8d7b
net: Introduce skb_send_sock() for sock_map

We only have skb_send_sock_locked() which requires callers
to use lock_sock(). Introduce a variant skb_send_sock()
which locks on its own, callers do not need to lock it
any more. This will save us from adding a ->sendmsg_locked
for each protocol.

To reuse the code, pass function pointers to __skb_send_sock()
and build skb_send_sock() and skb_send_sock_locked() on top.

Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/20210331023237.41094-4-xiyou.wangcong@gmail.com
include/linux/skbuff.h
net/core/skbuff.c