forked from mirrors/linux
		
	bpf: split HAVE_BPF_JIT into cBPF and eBPF variant
Split the HAVE_BPF_JIT into two for distinguishing cBPF and eBPF JITs. Current cBPF ones: # git grep -n HAVE_CBPF_JIT arch/ arch/arm/Kconfig:44: select HAVE_CBPF_JIT arch/mips/Kconfig:18: select HAVE_CBPF_JIT if !CPU_MICROMIPS arch/powerpc/Kconfig:129: select HAVE_CBPF_JIT arch/sparc/Kconfig:35: select HAVE_CBPF_JIT Current eBPF ones: # git grep -n HAVE_EBPF_JIT arch/ arch/arm64/Kconfig:61: select HAVE_EBPF_JIT arch/s390/Kconfig:126: select HAVE_EBPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES arch/x86/Kconfig:94: select HAVE_EBPF_JIT if X86_64 Later code also needs this facility to check for eBPF JITs. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									c94987e40e
								
							
						
					
					
						commit
						6077776b59
					
				
					 8 changed files with 18 additions and 10 deletions
				
			
		| 
						 | 
					@ -41,7 +41,7 @@ config ARM
 | 
				
			||||||
	select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
 | 
						select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
 | 
				
			||||||
	select HAVE_ARCH_TRACEHOOK
 | 
						select HAVE_ARCH_TRACEHOOK
 | 
				
			||||||
	select HAVE_ARM_SMCCC if CPU_V7
 | 
						select HAVE_ARM_SMCCC if CPU_V7
 | 
				
			||||||
	select HAVE_BPF_JIT
 | 
						select HAVE_CBPF_JIT
 | 
				
			||||||
	select HAVE_CC_STACKPROTECTOR
 | 
						select HAVE_CC_STACKPROTECTOR
 | 
				
			||||||
	select HAVE_CONTEXT_TRACKING
 | 
						select HAVE_CONTEXT_TRACKING
 | 
				
			||||||
	select HAVE_C_RECORDMCOUNT
 | 
						select HAVE_C_RECORDMCOUNT
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,7 +58,7 @@ config ARM64
 | 
				
			||||||
	select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
 | 
						select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
 | 
				
			||||||
	select HAVE_ARCH_SECCOMP_FILTER
 | 
						select HAVE_ARCH_SECCOMP_FILTER
 | 
				
			||||||
	select HAVE_ARCH_TRACEHOOK
 | 
						select HAVE_ARCH_TRACEHOOK
 | 
				
			||||||
	select HAVE_BPF_JIT
 | 
						select HAVE_EBPF_JIT
 | 
				
			||||||
	select HAVE_C_RECORDMCOUNT
 | 
						select HAVE_C_RECORDMCOUNT
 | 
				
			||||||
	select HAVE_CC_STACKPROTECTOR
 | 
						select HAVE_CC_STACKPROTECTOR
 | 
				
			||||||
	select HAVE_CMPXCHG_DOUBLE
 | 
						select HAVE_CMPXCHG_DOUBLE
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,7 +15,7 @@ config MIPS
 | 
				
			||||||
	select HAVE_ARCH_KGDB
 | 
						select HAVE_ARCH_KGDB
 | 
				
			||||||
	select HAVE_ARCH_SECCOMP_FILTER
 | 
						select HAVE_ARCH_SECCOMP_FILTER
 | 
				
			||||||
	select HAVE_ARCH_TRACEHOOK
 | 
						select HAVE_ARCH_TRACEHOOK
 | 
				
			||||||
	select HAVE_BPF_JIT if !CPU_MICROMIPS
 | 
						select HAVE_CBPF_JIT if !CPU_MICROMIPS
 | 
				
			||||||
	select HAVE_FUNCTION_TRACER
 | 
						select HAVE_FUNCTION_TRACER
 | 
				
			||||||
	select HAVE_DYNAMIC_FTRACE
 | 
						select HAVE_DYNAMIC_FTRACE
 | 
				
			||||||
	select HAVE_FTRACE_MCOUNT_RECORD
 | 
						select HAVE_FTRACE_MCOUNT_RECORD
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -126,7 +126,7 @@ config PPC
 | 
				
			||||||
	select IRQ_FORCED_THREADING
 | 
						select IRQ_FORCED_THREADING
 | 
				
			||||||
	select HAVE_RCU_TABLE_FREE if SMP
 | 
						select HAVE_RCU_TABLE_FREE if SMP
 | 
				
			||||||
	select HAVE_SYSCALL_TRACEPOINTS
 | 
						select HAVE_SYSCALL_TRACEPOINTS
 | 
				
			||||||
	select HAVE_BPF_JIT
 | 
						select HAVE_CBPF_JIT
 | 
				
			||||||
	select HAVE_ARCH_JUMP_LABEL
 | 
						select HAVE_ARCH_JUMP_LABEL
 | 
				
			||||||
	select ARCH_HAVE_NMI_SAFE_CMPXCHG
 | 
						select ARCH_HAVE_NMI_SAFE_CMPXCHG
 | 
				
			||||||
	select ARCH_HAS_GCOV_PROFILE_ALL
 | 
						select ARCH_HAS_GCOV_PROFILE_ALL
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -126,7 +126,7 @@ config S390
 | 
				
			||||||
	select HAVE_ARCH_SOFT_DIRTY
 | 
						select HAVE_ARCH_SOFT_DIRTY
 | 
				
			||||||
	select HAVE_ARCH_TRACEHOOK
 | 
						select HAVE_ARCH_TRACEHOOK
 | 
				
			||||||
	select HAVE_ARCH_TRANSPARENT_HUGEPAGE
 | 
						select HAVE_ARCH_TRANSPARENT_HUGEPAGE
 | 
				
			||||||
	select HAVE_BPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES
 | 
						select HAVE_EBPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES
 | 
				
			||||||
	select HAVE_CMPXCHG_DOUBLE
 | 
						select HAVE_CMPXCHG_DOUBLE
 | 
				
			||||||
	select HAVE_CMPXCHG_LOCAL
 | 
						select HAVE_CMPXCHG_LOCAL
 | 
				
			||||||
	select HAVE_DEBUG_KMEMLEAK
 | 
						select HAVE_DEBUG_KMEMLEAK
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@ config SPARC
 | 
				
			||||||
	select ARCH_WANT_IPC_PARSE_VERSION
 | 
						select ARCH_WANT_IPC_PARSE_VERSION
 | 
				
			||||||
	select GENERIC_PCI_IOMAP
 | 
						select GENERIC_PCI_IOMAP
 | 
				
			||||||
	select HAVE_NMI_WATCHDOG if SPARC64
 | 
						select HAVE_NMI_WATCHDOG if SPARC64
 | 
				
			||||||
	select HAVE_BPF_JIT
 | 
						select HAVE_CBPF_JIT
 | 
				
			||||||
	select HAVE_DEBUG_BUGVERBOSE
 | 
						select HAVE_DEBUG_BUGVERBOSE
 | 
				
			||||||
	select GENERIC_SMP_IDLE_THREAD
 | 
						select GENERIC_SMP_IDLE_THREAD
 | 
				
			||||||
	select GENERIC_CLOCKEVENTS
 | 
						select GENERIC_CLOCKEVENTS
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -91,7 +91,7 @@ config X86
 | 
				
			||||||
	select HAVE_ARCH_SOFT_DIRTY		if X86_64
 | 
						select HAVE_ARCH_SOFT_DIRTY		if X86_64
 | 
				
			||||||
	select HAVE_ARCH_TRACEHOOK
 | 
						select HAVE_ARCH_TRACEHOOK
 | 
				
			||||||
	select HAVE_ARCH_TRANSPARENT_HUGEPAGE
 | 
						select HAVE_ARCH_TRANSPARENT_HUGEPAGE
 | 
				
			||||||
	select HAVE_BPF_JIT			if X86_64
 | 
						select HAVE_EBPF_JIT			if X86_64
 | 
				
			||||||
	select HAVE_CC_STACKPROTECTOR
 | 
						select HAVE_CC_STACKPROTECTOR
 | 
				
			||||||
	select HAVE_CMPXCHG_DOUBLE
 | 
						select HAVE_CMPXCHG_DOUBLE
 | 
				
			||||||
	select HAVE_CMPXCHG_LOCAL
 | 
						select HAVE_CMPXCHG_LOCAL
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										14
									
								
								net/Kconfig
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								net/Kconfig
									
									
									
									
									
								
							| 
						 | 
					@ -289,7 +289,7 @@ config BQL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BPF_JIT
 | 
					config BPF_JIT
 | 
				
			||||||
	bool "enable BPF Just In Time compiler"
 | 
						bool "enable BPF Just In Time compiler"
 | 
				
			||||||
	depends on HAVE_BPF_JIT
 | 
						depends on HAVE_CBPF_JIT || HAVE_EBPF_JIT
 | 
				
			||||||
	depends on MODULES
 | 
						depends on MODULES
 | 
				
			||||||
	---help---
 | 
						---help---
 | 
				
			||||||
	  Berkeley Packet Filter filtering capabilities are normally handled
 | 
						  Berkeley Packet Filter filtering capabilities are normally handled
 | 
				
			||||||
| 
						 | 
					@ -419,6 +419,14 @@ config MAY_USE_DEVLINK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endif   # if NET
 | 
					endif   # if NET
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Used by archs to tell that they support BPF_JIT
 | 
					# Used by archs to tell that they support BPF JIT compiler plus which flavour.
 | 
				
			||||||
config HAVE_BPF_JIT
 | 
					# Only one of the two can be selected for a specific arch since eBPF JIT supersedes
 | 
				
			||||||
 | 
					# the cBPF JIT.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Classic BPF JIT (cBPF)
 | 
				
			||||||
 | 
					config HAVE_CBPF_JIT
 | 
				
			||||||
 | 
						bool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Extended BPF JIT (eBPF)
 | 
				
			||||||
 | 
					config HAVE_EBPF_JIT
 | 
				
			||||||
	bool
 | 
						bool
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue