summaryrefslogtreecommitdiffhomepage
path: root/src/compat
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-01-10 19:11:46 -0500
committerJason A. Donenfeld <Jason@zx2c4.com>2020-01-11 10:49:18 -0500
commita3f8970c8181f44091f987679527e41fa6531d68 (patch)
treea3822f9b80283a740aa6d55948c29f8228dbddef /src/compat
parent1aa1f0ab927e8e2e83fcbcdbcf8a1f5ae31ac153 (diff)
device: skb_list_walk_safe moved upstream
This won't be ported to 5.6, of course, but it's still cleaner to get this out of the way. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/compat')
-rw-r--r--src/compat/compat.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compat/compat.h b/src/compat/compat.h
index 824f57c..96f3556 100644
--- a/src/compat/compat.h
+++ b/src/compat/compat.h
@@ -865,6 +865,15 @@ static inline void skb_mark_not_on_list(struct sk_buff *skb)
#define ipv6_dst_lookup_flow(a, b, c, d) ipv6_dst_lookup(a, b, &dst, c) + (void *)0 ?: dst
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0)
+#include <linux/skbuff.h>
+#ifndef skb_list_walk_safe
+#define skb_list_walk_safe(first, skb, next) \
+ for ((skb) = (first), (next) = (skb) ? (skb)->next : NULL; (skb); \
+ (skb) = (next), (next) = (skb) ? (skb)->next : NULL)
+#endif
+#endif
+
#if defined(ISUBUNTU1604)
#include <linux/siphash.h>
#ifndef _WG_LINUX_SIPHASH_H