Commit de2c0b77 authored by Hengqi Chen's avatar Hengqi Chen Committed by Huacai Chen
Browse files

LoongArch: BPF: Make error handling robust in arch_prepare_bpf_trampoline()



Bail out instead of trying to perform a bpf_arch_text_copy() if
__arch_prepare_bpf_trampoline() failed.

Cc: stable@vger.kernel.org
Tested-by: default avatarVincent Li <vincent.mc.li@gmail.com>
Signed-off-by: default avatarHengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent ea645cfd
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1715,7 +1715,10 @@ int arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *ro_image,

	jit_fill_hole(image, (unsigned int)(ro_image_end - ro_image));
	ret = __arch_prepare_bpf_trampoline(&ctx, im, m, tlinks, func_addr, flags);
	if (ret > 0 && validate_code(&ctx) < 0) {
	if (ret < 0)
		goto out;

	if (validate_code(&ctx) < 0) {
		ret = -EINVAL;
		goto out;
	}