lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 11 Dec 2020 01:58:21 +0000 From: Brian Vazquez <brianvv@...gle.com> To: Brian Vazquez <brianvv.kernel@...il.com>, Brian Vazquez <brianvv@...gle.com>, Eric Dumazet <edumazet@...gle.com>, "David S . Miller" <davem@...emloft.net> Cc: linux-kernel@...r.kernel.org, netdev@...r.kernel.org Subject: [PATCH net-next 2/4] net: use indirect call helpers for dst_output From: brianvv <brianvv@...gle.com> This patch avoids the indirect call for the common case: ip6_output and ip_output Signed-off-by: brianvv <brianvv@...gle.com> --- include/net/dst.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/net/dst.h b/include/net/dst.h index 98cf6e8c06c4..3932e9931f08 100644 --- a/include/net/dst.h +++ b/include/net/dst.h @@ -436,10 +436,16 @@ static inline void dst_set_expires(struct dst_entry *dst, int timeout) dst->expires = expires; } +INDIRECT_CALLABLE_DECLARE(int ip6_output(struct net *, struct sock *, + struct sk_buff *)); +INDIRECT_CALLABLE_DECLARE(int ip_output(struct net *, struct sock *, + struct sk_buff *)); /* Output packet to network from transport. */ static inline int dst_output(struct net *net, struct sock *sk, struct sk_buff *skb) { - return skb_dst(skb)->output(net, sk, skb); + return INDIRECT_CALL_INET(skb_dst(skb)->output, + ip6_output, ip_output, + net, sk, skb); } INDIRECT_CALLABLE_DECLARE(int ip6_input(struct sk_buff *)); -- 2.29.2.576.ga3fc446d84-goog
Powered by blists - more mailing lists