diff options
Diffstat (limited to 'include/linux/bpf.h')
| -rw-r--r-- | include/linux/bpf.h | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/include/linux/bpf.h b/include/linux/bpf.h index f4c16f19f83e..3db6f6c95489 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -578,11 +578,12 @@ struct btf_func_model {   * programs only. Should not be used with normal calls and indirect calls.   */  #define BPF_TRAMP_F_SKIP_FRAME		BIT(2) -  /* Store IP address of the caller on the trampoline stack,   * so it's available for trampoline's programs.   */  #define BPF_TRAMP_F_IP_ARG		BIT(3) +/* Return the return value of fentry prog. Only used by bpf_struct_ops. */ +#define BPF_TRAMP_F_RET_FENTRY_RET	BIT(4)  /* Each call __bpf_prog_enter + call bpf_func + call __bpf_prog_exit is ~50   * bytes on x86.  Pick a number to fit into BPF_IMAGE_SIZE / 2 @@ -928,8 +929,11 @@ struct bpf_array_aux {  	 * stored in the map to make sure that all callers and callees have  	 * the same prog type and JITed flag.  	 */ -	enum bpf_prog_type type; -	bool jited; +	struct { +		spinlock_t lock; +		enum bpf_prog_type type; +		bool jited; +	} owner;  	/* Programs with direct jumps into programs part of this array. */  	struct list_head poke_progs;  	struct bpf_map *map;  | 
