mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	This fixes a compile bug found by build bot with kernel 3.18 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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));
 |