forked from mirrors/linux
		
	bpf: Add gpl_compatible flag to struct bpf_prog_info
Adding gpl_compatible flag to struct bpf_prog_info so it can be dumped via bpf_prog_get_info_by_fd and displayed via bpftool progs dump. Alexei noticed 4-byte hole in struct bpf_prog_info, so we put the u32 flags field in there, and we can keep adding bit fields in there without breaking user space. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
		
							parent
							
								
									af487c5777
								
							
						
					
					
						commit
						b85fab0e67
					
				
					 2 changed files with 2 additions and 0 deletions
				
			
		|  | @ -1060,6 +1060,7 @@ struct bpf_prog_info { | ||||||
| 	__aligned_u64 map_ids; | 	__aligned_u64 map_ids; | ||||||
| 	char name[BPF_OBJ_NAME_LEN]; | 	char name[BPF_OBJ_NAME_LEN]; | ||||||
| 	__u32 ifindex; | 	__u32 ifindex; | ||||||
|  | 	__u32 gpl_compatible:1; | ||||||
| 	__u64 netns_dev; | 	__u64 netns_dev; | ||||||
| 	__u64 netns_ino; | 	__u64 netns_ino; | ||||||
| } __attribute__((aligned(8))); | } __attribute__((aligned(8))); | ||||||
|  |  | ||||||
|  | @ -1914,6 +1914,7 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog, | ||||||
| 	info.load_time = prog->aux->load_time; | 	info.load_time = prog->aux->load_time; | ||||||
| 	info.created_by_uid = from_kuid_munged(current_user_ns(), | 	info.created_by_uid = from_kuid_munged(current_user_ns(), | ||||||
| 					       prog->aux->user->uid); | 					       prog->aux->user->uid); | ||||||
|  | 	info.gpl_compatible = prog->gpl_compatible; | ||||||
| 
 | 
 | ||||||
| 	memcpy(info.tag, prog->tag, sizeof(prog->tag)); | 	memcpy(info.tag, prog->tag, sizeof(prog->tag)); | ||||||
| 	memcpy(info.name, prog->aux->name, sizeof(prog->aux->name)); | 	memcpy(info.name, prog->aux->name, sizeof(prog->aux->name)); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Jiri Olsa
						Jiri Olsa