On Mon, 2019-07-01 at 15:07 -0400, Willem de Bruijn wrote: > On Mon, Jul 1, 2019 at 1:10 PM Paolo Abeni <pab...@redhat.com> wrote: > > This avoids an indirect call per syscall for common ipv4 transports > > > > Signed-off-by: Paolo Abeni <pab...@redhat.com> > > --- > > net/ipv4/af_inet.c | 12 +++++++++--- > > 1 file changed, 9 insertions(+), 3 deletions(-) > > > > diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c > > index 8421e2f5bbb3..9a2f17d0c5f5 100644 > > --- a/net/ipv4/af_inet.c > > +++ b/net/ipv4/af_inet.c > > @@ -797,6 +797,8 @@ int inet_send_prepare(struct sock *sk) > > } > > EXPORT_SYMBOL_GPL(inet_send_prepare); > > > > +INDIRECT_CALLABLE_DECLARE(int udp_sendmsg(struct sock *, struct msghdr *, > > + size_t)); > > Small nit: this is already defined in include/net/udp.h, which is > included. So like tcp_sendmsg, probably no need to declare.
Thank you for the review! You are right, that declaration can be dropped. > > If defining inet6_sendmsg and inet6_recvmsg in include/net/ipv6.h, > perhaps do the same for the other missing functions, instead of these > indirect declarations at the callsite? Uhm... since inet6_{send,recv}msg exists only for retpoline sake and are not exported, I think is probably better move their declaration to socket.c via INDIRECT_CALLABLE_DECLARE(), to that ICWs are all self- contained. Unless there are objections about spamming, I can repost the series with the above changes. Cheers, Paolo