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