wireguard: Fix compile with kernel 4.14.217
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 29 Jan 2021 20:12:43 +0000 (21:12 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 29 Jan 2021 20:12:43 +0000 (21:12 +0100)
Backport a patch from wireguard to fix a compile problem with kernel
4.14.217.

Fixes: 2ecb22dc51a5 ("kernel: bump 4.14 to 4.14.217")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/network/services/wireguard/Makefile
package/network/services/wireguard/patches/001-kernel-compile-skb_mark_not_on_list.patch [new file with mode: 0644]

index 710038732beaade2691bca6625b67dbac4444964..fc546e3e8cbcc8a1aaed9c1034466a4cd06e7cf0 100644 (file)
@@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=wireguard
 
 PKG_VERSION:=1.0.20200611
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=wireguard-linux-compat-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://git.zx2c4.com/wireguard-linux-compat/snapshot/
diff --git a/package/network/services/wireguard/patches/001-kernel-compile-skb_mark_not_on_list.patch b/package/network/services/wireguard/patches/001-kernel-compile-skb_mark_not_on_list.patch
new file mode 100644 (file)
index 0000000..ad051b7
--- /dev/null
@@ -0,0 +1,21 @@
+From 1bb90881971c226d45c0abd1ac16ce3d6b77fc5f Mon Sep 17 00:00:00 2001
+From: "Jason A. Donenfeld" <Jason@zx2c4.com>
+Date: Sun, 24 Jan 2021 14:09:09 +0100
+Subject: compat: skb_mark_not_on_list was backported to 4.14
+
+Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
+---
+ src/compat/compat.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/compat/compat.h
++++ b/src/compat/compat.h
+@@ -826,7 +826,7 @@ static __always_inline void old_rcu_barr
+ #define COMPAT_CANNOT_DEPRECIATE_BH_RCU
+ #endif
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 10) && !defined(ISRHEL8) && !defined(ISOPENSUSE15)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 10) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) && !defined(ISRHEL8)) || LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 217)
+ static inline void skb_mark_not_on_list(struct sk_buff *skb)
+ {
+       skb->next = NULL;