196f3d586f
5.4.102 backported a lot of stuff that our WireGuard backport already did, in addition to other patches we had, so those patches were removed from that part of the series. In the process other patches were refreshed or reworked to account for upstream changes. This commit involved `update_kernel.sh -v -u 5.4`. Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.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;
|