Loading net/wireguard/compat/compat.h +6 −2 Original line number Diff line number Diff line Loading @@ -326,7 +326,7 @@ static inline int wait_for_random_bytes(void) } #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) && !defined(ISRHEL8) #include <linux/random.h> #include <linux/slab.h> struct rng_is_initialized_callback { Loading Loading @@ -831,7 +831,7 @@ static inline void skb_mark_not_on_list(struct sk_buff *skb) } #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0) #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0) && !defined(ISRHEL8) #define NLA_EXACT_LEN NLA_UNSPEC #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0) Loading Loading @@ -861,6 +861,10 @@ static inline void skb_mark_not_on_list(struct sk_buff *skb) }) #endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 5) && LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) || LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 18) #define ipv6_dst_lookup_flow(a, b, c, d) ipv6_dst_lookup(a, b, &dst, c) + (void *)0 ?: dst #endif #if defined(ISUBUNTU1604) #include <linux/siphash.h> #ifndef _WG_LINUX_SIPHASH_H Loading net/wireguard/crypto/zinc/poly1305/poly1305-x86_64.pl +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ # Skylake-X system performance. Since we are likely to suppress # AVX512F capability flag [at least on Skylake-X], conversion serves # as kind of "investment protection". Note that next *lake processor, # Cannolake, has AVX512IFMA code path to execute... # Cannonlake, has AVX512IFMA code path to execute... # # Numbers are cycles per processed byte with poly1305_blocks alone, # measured with rdtsc at fixed clock frequency. Loading net/wireguard/main.c +0 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,6 @@ #include "uapi/wireguard.h" #include "crypto/zinc.h" #include <linux/version.h> #include <linux/init.h> #include <linux/module.h> #include <linux/genetlink.h> Loading net/wireguard/receive.c +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ static void wg_packet_consume_data_done(struct wg_peer *peer, /* We've already verified the Poly1305 auth tag, which means this packet * was not modified in transit. We can therefore tell the networking * stack that all checksums of every layer of encapsulation have already * been checked "by the hardware" and therefore is unneccessary to check * been checked "by the hardware" and therefore is unnecessary to check * again in software. */ skb->ip_summed = CHECKSUM_UNNECESSARY; Loading net/wireguard/socket.c +5 −3 Original line number Diff line number Diff line Loading @@ -142,9 +142,10 @@ static int send6(struct wg_device *wg, struct sk_buff *skb, if (cache) dst_cache_reset(cache); } ret = ipv6_stub->ipv6_dst_lookup(sock_net(sock), sock, &dst, &fl); if (unlikely(ret)) { dst = ipv6_stub->ipv6_dst_lookup_flow(sock_net(sock), sock, &fl, NULL); if (unlikely(IS_ERR(dst))) { ret = PTR_ERR(dst); net_dbg_ratelimited("%s: No route to %pISpfsc, error %d\n", wg->dev->name, &endpoint->addr, ret); goto err; Loading Loading @@ -332,6 +333,7 @@ static int wg_receive(struct sock *sk, struct sk_buff *skb) wg = sk->sk_user_data; if (unlikely(!wg)) goto err; skb_mark_not_on_list(skb); wg_packet_receive(wg, skb); return 0; Loading Loading
net/wireguard/compat/compat.h +6 −2 Original line number Diff line number Diff line Loading @@ -326,7 +326,7 @@ static inline int wait_for_random_bytes(void) } #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) && !defined(ISRHEL8) #include <linux/random.h> #include <linux/slab.h> struct rng_is_initialized_callback { Loading Loading @@ -831,7 +831,7 @@ static inline void skb_mark_not_on_list(struct sk_buff *skb) } #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0) #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0) && !defined(ISRHEL8) #define NLA_EXACT_LEN NLA_UNSPEC #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 2, 0) Loading Loading @@ -861,6 +861,10 @@ static inline void skb_mark_not_on_list(struct sk_buff *skb) }) #endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 5) && LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) || LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 18) #define ipv6_dst_lookup_flow(a, b, c, d) ipv6_dst_lookup(a, b, &dst, c) + (void *)0 ?: dst #endif #if defined(ISUBUNTU1604) #include <linux/siphash.h> #ifndef _WG_LINUX_SIPHASH_H Loading
net/wireguard/crypto/zinc/poly1305/poly1305-x86_64.pl +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ # Skylake-X system performance. Since we are likely to suppress # AVX512F capability flag [at least on Skylake-X], conversion serves # as kind of "investment protection". Note that next *lake processor, # Cannolake, has AVX512IFMA code path to execute... # Cannonlake, has AVX512IFMA code path to execute... # # Numbers are cycles per processed byte with poly1305_blocks alone, # measured with rdtsc at fixed clock frequency. Loading
net/wireguard/main.c +0 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,6 @@ #include "uapi/wireguard.h" #include "crypto/zinc.h" #include <linux/version.h> #include <linux/init.h> #include <linux/module.h> #include <linux/genetlink.h> Loading
net/wireguard/receive.c +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ static void wg_packet_consume_data_done(struct wg_peer *peer, /* We've already verified the Poly1305 auth tag, which means this packet * was not modified in transit. We can therefore tell the networking * stack that all checksums of every layer of encapsulation have already * been checked "by the hardware" and therefore is unneccessary to check * been checked "by the hardware" and therefore is unnecessary to check * again in software. */ skb->ip_summed = CHECKSUM_UNNECESSARY; Loading
net/wireguard/socket.c +5 −3 Original line number Diff line number Diff line Loading @@ -142,9 +142,10 @@ static int send6(struct wg_device *wg, struct sk_buff *skb, if (cache) dst_cache_reset(cache); } ret = ipv6_stub->ipv6_dst_lookup(sock_net(sock), sock, &dst, &fl); if (unlikely(ret)) { dst = ipv6_stub->ipv6_dst_lookup_flow(sock_net(sock), sock, &fl, NULL); if (unlikely(IS_ERR(dst))) { ret = PTR_ERR(dst); net_dbg_ratelimited("%s: No route to %pISpfsc, error %d\n", wg->dev->name, &endpoint->addr, ret); goto err; Loading Loading @@ -332,6 +333,7 @@ static int wg_receive(struct sock *sk, struct sk_buff *skb) wg = sk->sk_user_data; if (unlikely(!wg)) goto err; skb_mark_not_on_list(skb); wg_packet_receive(wg, skb); return 0; Loading