mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	iptables: fix compile with kernel 3.18
This fixes a compile bug found by build bot with kernel 3.18 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
		
							parent
							
								
									664733de8c
								
							
						
					
					
						commit
						fc54256bc8
					
				@ -0,0 +1,40 @@
 | 
			
		||||
From a12326ad330c4f7cd8d2b6ae1c4fbcd952c378dc Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Hauke Mehrtens <hauke@hauke-m.de>
 | 
			
		||||
Date: Mon, 26 Feb 2018 17:39:09 +0100
 | 
			
		||||
Subject: [PATCH] extensions: libxt_bpf: Fix build with old kernel versions
 | 
			
		||||
 | 
			
		||||
In kernel 3.18 the union bpf_attr does not have a pathname attribute and
 | 
			
		||||
BPF_OBJ_GET is also not defined in these versions.
 | 
			
		||||
This was added in Linux commit b2197755b263 ("bpf: add support for
 | 
			
		||||
persistent maps/progs"). Check for the BPF_FS_MAGIC define which was
 | 
			
		||||
also added in this Linux commit and only activate this code in case we
 | 
			
		||||
find that define.
 | 
			
		||||
 | 
			
		||||
This fixes a build problem with Linux 3.18.
 | 
			
		||||
Netfilter bug: #1231
 | 
			
		||||
 | 
			
		||||
Fixes: f17f9ace8a8 ("extensions: libxt_bpf: support ebpf pinned objects")
 | 
			
		||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 | 
			
		||||
---
 | 
			
		||||
 extensions/libxt_bpf.c | 3 ++-
 | 
			
		||||
 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
--- a/extensions/libxt_bpf.c
 | 
			
		||||
+++ b/extensions/libxt_bpf.c
 | 
			
		||||
@@ -22,6 +22,7 @@
 | 
			
		||||
 #include <linux/bpf.h>
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
+#include <linux/magic.h>
 | 
			
		||||
 #include <linux/unistd.h>
 | 
			
		||||
 
 | 
			
		||||
 #define BCODE_FILE_MAX_LEN_B	1024
 | 
			
		||||
@@ -62,7 +63,7 @@ static const struct xt_option_entry bpf_
 | 
			
		||||
 
 | 
			
		||||
 static int bpf_obj_get(const char *filepath)
 | 
			
		||||
 {
 | 
			
		||||
-#if defined HAVE_LINUX_BPF_H && defined __NR_bpf
 | 
			
		||||
+#if defined HAVE_LINUX_BPF_H && defined __NR_bpf && defined BPF_FS_MAGIC
 | 
			
		||||
 	union bpf_attr attr;
 | 
			
		||||
 
 | 
			
		||||
 	memset(&attr, 0, sizeof(attr));
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user