mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +00:00
c0cb86e1d5
Rather than using the clunky, old, slower wireguard-linux-compat out of tree module, this commit does a patch-by-patch backport of upstream's wireguard to 5.4. This specific backport is in widespread use, being part of SUSE's enterprise kernel, Oracle's enterprise kernel, Google's Android kernel, Gentoo's distro kernel, and probably more I've forgotten about. It's definately the "more proper" way of adding wireguard to a kernel than the ugly compat.h hell of the wireguard-linux-compat repo. And most importantly for OpenWRT, it allows using the same module configuration code for 5.10 as for 5.4, with no need for bifurcation. These patches are from the backport tree which is maintained in the open here: https://git.zx2c4.com/wireguard-linux/log/?h=backport-5.4.y I'll be sending PRs to update this as needed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> (cherry picked from commit3888fa7880
) (cherry picked from commitd540725871
) (cherry picked from commit196f3d586f
) (cherry picked from commit3500fd7938
) (cherry picked from commit23b801d3ba
) (cherry picked from commit0c0cb97da7
) (cherry picked from commit2a27f6f90a
) Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
|
|
Date: Thu, 2 Jan 2020 17:47:50 +0100
|
|
Subject: [PATCH] wireguard: queueing: do not account for pfmemalloc when
|
|
clearing skb header
|
|
|
|
commit 04d2ea92a18417619182cbb79063f154892b0150 upstream.
|
|
|
|
Before 8b7008620b84 ("net: Don't copy pfmemalloc flag in __copy_skb_
|
|
header()"), the pfmemalloc flag used to be between headers_start and
|
|
headers_end, which is a region we clear when preparing the packet for
|
|
encryption/decryption. This is a parameter we certainly want to
|
|
preserve, which is why 8b7008620b84 moved it out of there. The code here
|
|
was written in a world before 8b7008620b84, though, where we had to
|
|
manually account for it. This commit brings things up to speed.
|
|
|
|
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
---
|
|
drivers/net/wireguard/queueing.h | 3 ---
|
|
1 file changed, 3 deletions(-)
|
|
|
|
--- a/drivers/net/wireguard/queueing.h
|
|
+++ b/drivers/net/wireguard/queueing.h
|
|
@@ -83,13 +83,10 @@ static inline __be16 wg_skb_examine_untr
|
|
|
|
static inline void wg_reset_packet(struct sk_buff *skb)
|
|
{
|
|
- const int pfmemalloc = skb->pfmemalloc;
|
|
-
|
|
skb_scrub_packet(skb, true);
|
|
memset(&skb->headers_start, 0,
|
|
offsetof(struct sk_buff, headers_end) -
|
|
offsetof(struct sk_buff, headers_start));
|
|
- skb->pfmemalloc = pfmemalloc;
|
|
skb->queue_mapping = 0;
|
|
skb->nohdr = 0;
|
|
skb->peeked = 0;
|