linux/include/uapi
YiFei Zhu b44123b4a3 bpf: Add cgroup helpers bpf_{get,set}_retval to get/set syscall return value
The helpers continue to use int for retval because all the hooks
are int-returning rather than long-returning. The return value of
bpf_set_retval is int for future-proofing, in case in the future
there may be errors trying to set the retval.

After the previous patch, if a program rejects a syscall by
returning 0, an -EPERM will be generated no matter if the retval
is already set to -err. This patch change it being forced only if
retval is not -err. This is because we want to support, for
example, invoking bpf_set_retval(-EINVAL) and return 0, and have
the syscall return value be -EINVAL not -EPERM.

For BPF_PROG_CGROUP_INET_EGRESS_RUN_ARRAY, the prior behavior is
that, if the return value is NET_XMIT_DROP, the packet is silently
dropped. We preserve this behavior for backward compatibility
reasons, so even if an errno is set, the errno does not return to
caller. However, setting a non-err to retval cannot propagate so
this is not allowed and we return a -EFAULT in that case.

Signed-off-by: YiFei Zhu <zhuyifei@google.com>
Reviewed-by: Stanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/r/b4013fd5d16bed0b01977c1fafdeae12e1de61fb.1639619851.git.zhuyifei@google.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2022-01-19 12:51:30 -08:00
..
asm-generic aio: fix use-after-free due to missing POLLFREE handling 2021-12-09 10:49:56 -08:00
drm Merge tag 'amd-drm-next-5.17-2021-12-16' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2021-12-23 11:55:28 +10:00
linux bpf: Add cgroup helpers bpf_{get,set}_retval to get/set syscall return value 2022-01-19 12:51:30 -08:00
misc habanalabs: define uAPI to export FD for DMA-BUF 2021-10-18 12:05:47 +03:00
mtd
rdma net/mlx5: Add misc5 flow table match parameters 2021-12-31 00:17:23 -08:00
scsi scsi: fc: Add EDC ELS definition 2021-08-24 22:56:33 -04:00
sound sound updates for 5.16-rc1 2021-11-03 07:49:25 -07:00
video
xen
Kbuild