Hou Tao 356ed64991 bpf: Handle return value of BPF_PROG_TYPE_STRUCT_OPS prog
Currently if a function ptr in struct_ops has a return value, its
caller will get a random return value from it, because the return
value of related BPF_PROG_TYPE_STRUCT_OPS prog is just dropped.

So adding a new flag BPF_TRAMP_F_RET_FENTRY_RET to tell bpf trampoline
to save and return the return value of struct_ops prog if ret_size of
the function ptr is greater than 0. Also restricting the flag to be
used alone.

Fixes: 85d33df357b6 ("bpf: Introduce BPF_MAP_TYPE_STRUCT_OPS")
Signed-off-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20210914023351.3664499-1-houtao1@huawei.com
2021-09-14 11:09:50 -07:00
..
2021-09-07 12:08:04 -07:00
2021-09-03 11:22:50 -07:00
2021-09-02 13:00:15 -07:00
2021-08-30 14:26:36 -07:00
2021-08-30 14:26:36 -07:00
2021-09-07 12:08:04 -07:00
2021-08-11 13:11:12 -07:00
2021-06-18 11:43:08 +02:00
2021-05-07 00:26:33 -07:00
2021-07-11 11:06:09 -07:00
2021-06-18 11:43:09 +02:00
2020-12-01 10:30:28 +00:00
2021-08-11 14:47:16 +02:00
2021-05-07 00:26:34 -07:00