lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 594/800] bpf, x86: Fix extable offset calculation
    Date
    From: Ravi Bangoria <ravi.bangoria@linux.ibm.com>

    [ Upstream commit 328aac5ecd119ede3633f7d17969b1ff34ccc784 ]

    Commit 4c5de127598e1 ("bpf: Emit explicit NULL pointer checks for PROBE_LDX
    instructions.") is emitting a couple of instructions before the actual load.
    Consider those additional instructions while calculating extable offset.

    Fixes: 4c5de127598e1 ("bpf: Emit explicit NULL pointer checks for PROBE_LDX instructions.")
    Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Link: https://lore.kernel.org/bpf/20210622110026.1157847-1-ravi.bangoria@linux.ibm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/net/bpf_jit_comp.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
    index 2a2e290fa5d8..a3d867f22153 100644
    --- a/arch/x86/net/bpf_jit_comp.c
    +++ b/arch/x86/net/bpf_jit_comp.c
    @@ -1297,7 +1297,7 @@ st: if (is_imm8(insn->off))
    emit_ldx(&prog, BPF_SIZE(insn->code), dst_reg, src_reg, insn->off);
    if (BPF_MODE(insn->code) == BPF_PROBE_MEM) {
    struct exception_table_entry *ex;
    - u8 *_insn = image + proglen;
    + u8 *_insn = image + proglen + (start_of_ldx - temp);
    s64 delta;

    /* populate jmp_offset for JMP above */
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:10    [W:2.765 / U:0.520 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site