diff options
Diffstat (limited to 'arch/x86/net/bpf_jit_comp.c')
| -rw-r--r-- | arch/x86/net/bpf_jit_comp.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c index f298b18a9a3d..c98b8c0ed3b8 100644 --- a/arch/x86/net/bpf_jit_comp.c +++ b/arch/x86/net/bpf_jit_comp.c @@ -1420,8 +1420,9 @@ st:			if (is_imm8(insn->off))  		case BPF_JMP | BPF_CALL:  			func = (u8 *) __bpf_call_base + imm32;  			if (tail_call_reachable) { +				/* mov rax, qword ptr [rbp - rounded_stack_depth - 8] */  				EMIT3_off32(0x48, 0x8B, 0x85, -					    -(bpf_prog->aux->stack_depth + 8)); +					    -round_up(bpf_prog->aux->stack_depth, 8) - 8);  				if (!imm32 || emit_call(&prog, func, image + addrs[i - 1] + 7))  					return -EINVAL;  			} else {  | 
