mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	 14dc6f04f4
			
		
	
	
		14dc6f04f4
		
	
	
	
	
		
			
			This patch allows userspace to do BPF_MAP_LOOKUP_ELEM on BPF_MAP_TYPE_PROG_ARRAY, BPF_MAP_TYPE_ARRAY_OF_MAPS and BPF_MAP_TYPE_HASH_OF_MAPS. The lookup returns a prog-id or map-id to the userspace. The userspace can then use the BPF_PROG_GET_FD_BY_ID or BPF_MAP_GET_FD_BY_ID to get a fd. Signed-off-by: Martin KaFai Lau <kafai@fb.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			696 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			696 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Copyright (c) 2017 Facebook
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of version 2 of the GNU General Public
 | |
|  * License as published by the Free Software Foundation.
 | |
|  */
 | |
| #ifndef __MAP_IN_MAP_H__
 | |
| #define __MAP_IN_MAP_H__
 | |
| 
 | |
| #include <linux/types.h>
 | |
| 
 | |
| struct file;
 | |
| struct bpf_map;
 | |
| 
 | |
| struct bpf_map *bpf_map_meta_alloc(int inner_map_ufd);
 | |
| void bpf_map_meta_free(struct bpf_map *map_meta);
 | |
| bool bpf_map_meta_equal(const struct bpf_map *meta0,
 | |
| 			const struct bpf_map *meta1);
 | |
| void *bpf_map_fd_get_ptr(struct bpf_map *map, struct file *map_file,
 | |
| 			 int ufd);
 | |
| void bpf_map_fd_put_ptr(void *ptr);
 | |
| u32 bpf_map_fd_sys_lookup_elem(void *ptr);
 | |
| 
 | |
| #endif
 |