bpf: Fix error return value in bpf_copy_from_user_dynptr
authorMykyta Yatsenko <yatsenko@meta.com>
Fri, 23 May 2025 18:17:05 +0000 (19:17 +0100)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 23 May 2025 20:25:02 +0000 (13:25 -0700)
commit079e5c56a5c41d285068939ff7b0041ab10386fa
tree564e2b77b6d0704b39d1d04e009586dfb8ebb0b8
parentbfccacdf93f6d80e51f070426d4942e7693f2716
bpf: Fix error return value in bpf_copy_from_user_dynptr

On error, copy_from_user returns number of bytes not copied to
destination, but current implementation of copy_user_data_sleepable does
not handle that correctly and returns it as error value, which may
confuse user, expecting meaningful negative error value.

Fixes: a498ee7576de ("bpf: Implement dynptr copy kfuncs")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Mykyta Yatsenko <yatsenko@meta.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20250523181705.261585-1-mykyta.yatsenko5@gmail.com
kernel/trace/bpf_trace.c